public class WadlGeneratorResourceDocSupport extends java.lang.Object implements WadlGenerator
WadlGenerator implementation that enhances the generated wadl by
information read from a resourcedoc (containing javadoc information about resource
classes).
The resourcedoc information can either be provided via a File (setResourceDocFile(File)) reference or
via an InputStream (setResourceDocStream(InputStream)).
The File should be used when using the maven-wadl-plugin for generating wadl offline,
the InputStream should be used when the extended wadl is generated by jersey at runtime, e.g.
using the WadlGeneratorConfig for configuration.
WadlGenerator.ExternalGrammarDefinition, WadlGenerator.Resolver| Modifier and Type | Field and Description |
|---|---|
private WadlGenerator |
delegate |
private ResourceDocAccessor |
resourceDoc |
private java.io.File |
resourceDocFile |
private java.io.InputStream |
resourceDocStream |
private javax.inject.Provider<javax.xml.parsers.SAXParserFactory> |
saxFactoryProvider |
| Constructor and Description |
|---|
WadlGeneratorResourceDocSupport() |
WadlGeneratorResourceDocSupport(WadlGenerator wadlGenerator,
ResourceDocType resourceDoc) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addDoc(java.util.List<Doc> docs,
java.lang.String text) |
private void |
addDocForExample(java.util.List<Doc> docs,
java.lang.String example) |
void |
attachTypes(ApplicationDescription egd)
Process the elements in the WADL definition to attach schema types
as required.
|
Application |
createApplication() |
WadlGenerator.ExternalGrammarDefinition |
createExternalGrammar()
Perform any post create functions such as generating grammars.
|
Method |
createMethod(Resource resource,
ResourceMethod resourceMethod) |
Param |
createParam(Resource r,
ResourceMethod m,
Parameter p) |
Request |
createRequest(Resource r,
ResourceMethod m) |
Representation |
createRequestRepresentation(Resource r,
ResourceMethod m,
javax.ws.rs.core.MediaType mediaType) |
Resource |
createResource(Resource r,
java.lang.String path) |
Resources |
createResources() |
java.util.List<Response> |
createResponses(Resource r,
ResourceMethod m) |
java.lang.String |
getRequiredJaxbContextPath()
The jaxb context path that is used when the generated wadl application is marshalled
to a file.
|
void |
init()
Invoked before all methods related to wadl-building are invoked.
|
private boolean |
isEmpty(java.lang.String text) |
void |
setResourceDocFile(java.io.File resourceDocFile)
Set the
resourceDocFile to the given file. |
void |
setResourceDocStream(java.io.InputStream resourceDocStream)
Set the
resourceDocStream to the given file. |
void |
setWadlGeneratorDelegate(WadlGenerator delegate)
Sets the delegate that is decorated by this wadl generator.
|
private WadlGenerator delegate
private java.io.File resourceDocFile
private java.io.InputStream resourceDocStream
private ResourceDocAccessor resourceDoc
@Context private javax.inject.Provider<javax.xml.parsers.SAXParserFactory> saxFactoryProvider
public WadlGeneratorResourceDocSupport()
public WadlGeneratorResourceDocSupport(WadlGenerator wadlGenerator, ResourceDocType resourceDoc)
public void setWadlGeneratorDelegate(WadlGenerator delegate)
WadlGeneratorWadlGenerator.init() or any setter method is invoked.setWadlGeneratorDelegate in interface WadlGeneratordelegate - the wadl generator to decoratepublic void setResourceDocFile(java.io.File resourceDocFile)
resourceDocFile to the given file. Invoking this method is only allowed, as long as
the resourceDocStream is not set, otherwise an IllegalStateException will be thrown.resourceDocFile - the resourcedoc file to set.public void setResourceDocStream(java.io.InputStream resourceDocStream)
resourceDocStream to the given file. Invoking this method is only allowed, as long as
the resourceDocFile is not set, otherwise an IllegalStateException will be thrown.
The resourcedoc stream must be closed by the client providing the stream.
resourceDocStream - the resourcedoc stream to set.public void init()
throws java.lang.Exception
WadlGeneratorthis.delegate.init().init in interface WadlGeneratorjava.lang.IllegalStateExceptionjavax.xml.bind.JAXBExceptionjava.lang.Exceptionpublic java.lang.String getRequiredJaxbContextPath()
WadlGeneratorWadlGenerator.setWadlGeneratorDelegate(WadlGenerator)._delegate.getRequiredJaxbContextPath(),
otherwise return the delegate's #getRequiredJaxbContextPath() together with
your required context path (separated by a colon):_delegate.getRequiredJaxbContextPath() == null
? ${yourContextPath}
: _delegate.getRequiredJaxbContextPath() + ":" + ${yourContextPath};
If you add the path for your custom jaxb beans, don't forget to add an
ObjectFactory (annotated with XmlRegistry) to this package.getRequiredJaxbContextPath in interface WadlGeneratorgetRequiredJaxbContextPath() of the delegate or the
getRequiredJaxbContextPath() + ":" + ${yourContextPath}.public Application createApplication()
createApplication in interface WadlGeneratorApplication created by the delegate.WadlGenerator.createApplication()public Resource createResource(Resource r, java.lang.String path)
createResource in interface WadlGeneratorr - Jersey resource component for which the WADL reource is to be created.path - path where the resource is exposed.Resource.WadlGenerator.createResource(org.glassfish.jersey.server.model.Resource, String)public Method createMethod(Resource resource, ResourceMethod resourceMethod)
createMethod in interface WadlGeneratorresource - Jersey resource component.resourceMethod - resource method.Method.WadlGenerator.createMethod(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)public Representation createRequestRepresentation(Resource r, ResourceMethod m, javax.ws.rs.core.MediaType mediaType)
createRequestRepresentation in interface WadlGeneratorr - Jersey resource component.m - resource method.mediaType - media type.Representation.WadlGenerator.createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)public Request createRequest(Resource r, ResourceMethod m)
createRequest in interface WadlGeneratorr - Jersey resource component.m - resource method.Request.WadlGenerator.createRequest(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)public java.util.List<Response> createResponses(Resource r, ResourceMethod m)
createResponses in interface WadlGeneratorr - Jersey resource component.m - resource method.Response.WadlGenerator.createResponses(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)private void addDocForExample(java.util.List<Doc> docs, java.lang.String example)
private void addDoc(java.util.List<Doc> docs, java.lang.String text)
public Param createParam(Resource r, ResourceMethod m, Parameter p)
createParam in interface WadlGeneratorr - Jersey resource component.m - resource method.p - method parameter.Param.WadlGenerator.createParam(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod, org.glassfish.jersey.server.model.Parameter)public Resources createResources()
createResources in interface WadlGeneratorResources created by the delegate.WadlGenerator.createResources()private boolean isEmpty(java.lang.String text)
public WadlGenerator.ExternalGrammarDefinition createExternalGrammar()
WadlGeneratorcreateExternalGrammar in interface WadlGeneratorpublic void attachTypes(ApplicationDescription egd)
WadlGeneratorattachTypes in interface WadlGeneratoregd - The root description used to resolve these entries