public class WadlGeneratorJAXBGrammarGenerator extends java.lang.Object implements WadlGenerator
WadlGenerator
generates a XML Schema content model based on
referenced java beans.
Created on: Jun 22, 2011Modifier and Type | Class and Description |
---|---|
private static interface |
WadlGeneratorJAXBGrammarGenerator.NameCallbackSetter |
private class |
WadlGeneratorJAXBGrammarGenerator.TypeCallbackPair |
WadlGenerator.ExternalGrammarDefinition, WadlGenerator.Resolver
Modifier and Type | Field and Description |
---|---|
private static java.util.logging.Logger |
LOGGER |
private java.util.List<WadlGeneratorJAXBGrammarGenerator.TypeCallbackPair> |
nameCallbacks |
private java.util.Set<java.lang.Class> |
seeAlsoClasses |
private static java.util.Set<java.lang.Class> |
SPECIAL_GENERIC_TYPES |
private WadlGenerator |
wadlGeneratorDelegate |
Constructor and Description |
---|
WadlGeneratorJAXBGrammarGenerator() |
Modifier and Type | Method and Description |
---|---|
void |
attachTypes(ApplicationDescription introspector)
Process the elements in the WADL definition to attach schema types
as required.
|
private WadlGenerator.Resolver |
buildModelAndSchemas(java.util.Map<java.lang.String,ApplicationDescription.ExternalGrammar> extraFiles)
Build the JAXB model and generate the schemas based on tha data
|
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 resource,
ResourceMethod resourceMethod) |
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 |
setWadlGeneratorDelegate(WadlGenerator delegate)
Sets the delegate that is decorated by this wadl generator.
|
private static final java.util.logging.Logger LOGGER
private static final java.util.Set<java.lang.Class> SPECIAL_GENERIC_TYPES
private WadlGenerator wadlGeneratorDelegate
private java.util.Set<java.lang.Class> seeAlsoClasses
private java.util.List<WadlGeneratorJAXBGrammarGenerator.TypeCallbackPair> nameCallbacks
public void setWadlGeneratorDelegate(WadlGenerator delegate)
WadlGenerator
WadlGenerator.init()
or any setter method is invoked.setWadlGeneratorDelegate
in interface WadlGenerator
delegate
- the wadl generator to decoratepublic java.lang.String getRequiredJaxbContextPath()
WadlGenerator
WadlGenerator.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 WadlGenerator
getRequiredJaxbContextPath()
of the delegate or the
getRequiredJaxbContextPath() + ":" + ${yourContextPath}
.public void init() throws java.lang.Exception
WadlGenerator
this.delegate.init()
.init
in interface WadlGenerator
java.lang.IllegalStateException
javax.xml.bind.JAXBException
java.lang.Exception
public Application createApplication()
createApplication
in interface WadlGenerator
WadlGenerator.createApplication()
public Method createMethod(Resource ar, ResourceMethod arm)
createMethod
in interface WadlGenerator
ar
- 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 WadlGenerator
ar
- 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 WadlGenerator
ar
- 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 WadlGenerator
ar
- 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 WadlGenerator
ar
- abstract resourcepath
- resources pathWadlGenerator.createResource(org.glassfish.jersey.server.model.Resource, String)
public Resources createResources()
createResources
in interface WadlGenerator
WadlGenerator.createResources()
public java.util.List<Response> createResponses(Resource resource, ResourceMethod resourceMethod)
createResponses
in interface WadlGenerator
resource
- abstract resourceresourceMethod
- abstract resource methodWadlGenerator.createResponses(org.glassfish.jersey.server.model.Resource,
org.glassfish.jersey.server.model.ResourceMethod)
public WadlGenerator.ExternalGrammarDefinition createExternalGrammar()
WadlGenerator
createExternalGrammar
in interface WadlGenerator
private WadlGenerator.Resolver buildModelAndSchemas(java.util.Map<java.lang.String,ApplicationDescription.ExternalGrammar> extraFiles)
extraFiles
- additional files.QName
resolver.public void attachTypes(ApplicationDescription introspector)
WadlGenerator
attachTypes
in interface WadlGenerator
introspector
- The root description used to resolve these entries