public class WadlGeneratorGrammarsSupport extends java.lang.Object implements WadlGenerator
WadlGenerator adds the provided Grammars element to the
generated wadl-file.
The Grammars content can either be provided via a File (setGrammarsFile(File)) reference or
via an InputStream (setGrammarsStream(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 Grammars |
_grammars |
private java.io.File |
_grammarsFile |
private java.io.InputStream |
_grammarsStream |
private static java.util.logging.Logger |
LOG |
private java.lang.Boolean |
overrideGrammars |
private javax.inject.Provider<javax.xml.parsers.SAXParserFactory> |
saxFactoryProvider |
| Constructor and Description |
|---|
WadlGeneratorGrammarsSupport() |
WadlGeneratorGrammarsSupport(WadlGenerator delegate,
Grammars grammars) |
| Modifier and Type | Method and Description |
|---|---|
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 ar,
ResourceMethod arm) |
Param |
createParam(Resource ar,
ResourceMethod am,
Parameter p) |
Request |
createRequest(Resource ar,
ResourceMethod arm) |
Representation |
createRequestRepresentation(Resource ar,
ResourceMethod arm,
javax.ws.rs.core.MediaType mt) |
Resource |
createResource(Resource ar,
java.lang.String path) |
Resources |
createResources() |
java.util.List<Response> |
createResponses(Resource ar,
ResourceMethod arm) |
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.
|
void |
setGrammarsFile(java.io.File grammarsFile) |
void |
setGrammarsStream(java.io.InputStream grammarsStream) |
void |
setOverrideGrammars(java.lang.Boolean overrideGrammars) |
void |
setWadlGeneratorDelegate(WadlGenerator delegate)
Sets the delegate that is decorated by this wadl generator.
|
private static final java.util.logging.Logger LOG
private WadlGenerator _delegate
private java.io.File _grammarsFile
private java.io.InputStream _grammarsStream
private Grammars _grammars
private java.lang.Boolean overrideGrammars
@Context private javax.inject.Provider<javax.xml.parsers.SAXParserFactory> saxFactoryProvider
public WadlGeneratorGrammarsSupport()
public WadlGeneratorGrammarsSupport(WadlGenerator delegate, Grammars grammars)
public void setWadlGeneratorDelegate(WadlGenerator delegate)
WadlGeneratorWadlGenerator.init() or any setter method is invoked.setWadlGeneratorDelegate in interface WadlGeneratordelegate - the wadl generator to decoratepublic void setOverrideGrammars(java.lang.Boolean overrideGrammars)
public 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 void setGrammarsFile(java.io.File grammarsFile)
public void setGrammarsStream(java.io.InputStream grammarsStream)
public void init()
throws java.lang.Exception
WadlGeneratorthis.delegate.init().init in interface WadlGeneratorjava.lang.IllegalStateExceptionjavax.xml.bind.JAXBExceptionjava.lang.Exceptionpublic Application createApplication()
createApplication in interface WadlGeneratorWadlGenerator.createApplication()public Method createMethod(Resource ar, ResourceMethod arm)
createMethod in interface WadlGeneratorar - abstract resourcearm - abstract resource methodWadlGenerator.createMethod(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)public Request createRequest(Resource ar, ResourceMethod arm)
createRequest in interface WadlGeneratorar - abstract resourcearm - abstract resource methodWadlGenerator.createRequest(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)public Param createParam(Resource ar, ResourceMethod am, Parameter p)
createParam in interface WadlGeneratorar - abstract resourceam - abstract methodp - parameterWadlGenerator.createParam(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod, org.glassfish.jersey.server.model.Parameter)public Representation createRequestRepresentation(Resource ar, ResourceMethod arm, javax.ws.rs.core.MediaType mt)
createRequestRepresentation in interface WadlGeneratorar - abstract resourcearm - abstract resource methodmt - media typeWadlGenerator.createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)public Resource createResource(Resource ar, java.lang.String path)
createResource in interface WadlGeneratorar - abstract resourcepath - resource pathWadlGenerator.createResource(org.glassfish.jersey.server.model.Resource, String)public Resources createResources()
createResources in interface WadlGeneratorWadlGenerator.createResources()public java.util.List<Response> createResponses(Resource ar, ResourceMethod arm)
createResponses in interface WadlGeneratorar - abstract resourcearm - abstract resource methodWadlGenerator.createResponses(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)public WadlGenerator.ExternalGrammarDefinition createExternalGrammar()
WadlGeneratorcreateExternalGrammar in interface WadlGeneratorpublic void attachTypes(ApplicationDescription egd)
WadlGeneratorattachTypes in interface WadlGeneratoregd - The root description used to resolve these entries