Class WadlGeneratorResourceDocSupport
java.lang.Object
org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.WadlGeneratorResourceDocSupport
- All Implemented Interfaces:
WadlGenerator
A
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.
- Author:
- Martin Grotzke (martin.grotzke at freiheit.com), Miroslav Fuksa
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.glassfish.jersey.server.wadl.WadlGenerator
WadlGenerator.ExternalGrammarDefinition, WadlGenerator.Resolver
-
Constructor Summary
ConstructorDescriptionWadlGeneratorResourceDocSupport
(WadlGenerator wadlGenerator, ResourceDocType resourceDoc) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Process the elements in the WADL definition to attach schema types as required.Perform any post create functions such as generating grammars.createMethod
(Resource resource, ResourceMethod resourceMethod) createParam
(Resource r, ResourceMethod m, Parameter p) createRequestRepresentation
(Resource r, ResourceMethod m, MediaType mediaType) createResource
(Resource r, String path) 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
setResourceDocFile
(File resourceDocFile) Set theresourceDocFile
to the given file.void
setResourceDocStream
(InputStream resourceDocStream) Set theresourceDocStream
to the given file.void
setWadlGeneratorDelegate
(WadlGenerator delegate) Sets the delegate that is decorated by this wadl generator.
-
Constructor Details
-
WadlGeneratorResourceDocSupport
public WadlGeneratorResourceDocSupport() -
WadlGeneratorResourceDocSupport
-
-
Method Details
-
setWadlGeneratorDelegate
Description copied from interface:WadlGenerator
Sets the delegate that is decorated by this wadl generator. Is invoked directly after this generator is instantiated beforeWadlGenerator.init()
or any setter method is invoked.- Specified by:
setWadlGeneratorDelegate
in interfaceWadlGenerator
- Parameters:
delegate
- the wadl generator to decorate
-
setResourceDocFile
Set theresourceDocFile
to the given file. Invoking this method is only allowed, as long as theresourceDocStream
is not set, otherwise anIllegalStateException
will be thrown.- Parameters:
resourceDocFile
- the resourcedoc file to set.
-
setResourceDocStream
Set theresourceDocStream
to the given file. Invoking this method is only allowed, as long as theresourceDocFile
is not set, otherwise anIllegalStateException
will be thrown.The resourcedoc stream must be closed by the client providing the stream.
- Parameters:
resourceDocStream
- the resourcedoc stream to set.
-
init
Description copied from interface:WadlGenerator
Invoked before all methods related to wadl-building are invoked. This method is used in a decorator like manner, and therefore has to invokethis.delegate.init()
.- Specified by:
init
in interfaceWadlGenerator
- Throws:
IllegalStateException
jakarta.xml.bind.JAXBException
Exception
-
getRequiredJaxbContextPath
Description copied from interface:WadlGenerator
The jaxb context path that is used when the generated wadl application is marshalled to a file. This method is used in a decorator like manner. The result return the path (or a colon-separated list of package names) containing jaxb-beans that are added to wadl elements by this WadlGenerator, additionally to the context path of the decorated WadlGenerator (set byWadlGenerator.setWadlGeneratorDelegate(WadlGenerator)
.
If you do not use custom jaxb beans, then simply return_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 withXmlRegistry
) to this package.- Specified by:
getRequiredJaxbContextPath
in interfaceWadlGenerator
- Returns:
- simply the
getRequiredJaxbContextPath()
of the delegate or thegetRequiredJaxbContextPath() + ":" + ${yourContextPath}
.
-
createApplication
- Specified by:
createApplication
in interfaceWadlGenerator
- Returns:
- the
Application
created by the delegate. - See Also:
-
createResource
- Specified by:
createResource
in interfaceWadlGenerator
- Parameters:
r
- Jersey resource component for which the WADL reource is to be created.path
- path where the resource is exposed.- Returns:
- the enhanced
Resource
. - See Also:
-
createMethod
- Specified by:
createMethod
in interfaceWadlGenerator
- Parameters:
resource
- Jersey resource component.resourceMethod
- resource method.- Returns:
- the enhanced
Method
. - See Also:
-
createRequestRepresentation
public Representation createRequestRepresentation(Resource r, ResourceMethod m, MediaType mediaType) - Specified by:
createRequestRepresentation
in interfaceWadlGenerator
- Parameters:
r
- Jersey resource component.m
- resource method.mediaType
- media type.- Returns:
- the enhanced
Representation
. - See Also:
-
createRequest
- Specified by:
createRequest
in interfaceWadlGenerator
- Parameters:
r
- Jersey resource component.m
- resource method.- Returns:
- the enhanced
Request
. - See Also:
-
createResponses
- Specified by:
createResponses
in interfaceWadlGenerator
- Parameters:
r
- Jersey resource component.m
- resource method.- Returns:
- the enhanced
Response
. - See Also:
-
createParam
- Specified by:
createParam
in interfaceWadlGenerator
- Parameters:
r
- Jersey resource component.m
- resource method.p
- method parameter.- Returns:
- the enhanced
Param
. - See Also:
-
createResources
- Specified by:
createResources
in interfaceWadlGenerator
- Returns:
- the
Resources
created by the delegate. - See Also:
-
createExternalGrammar
Description copied from interface:WadlGenerator
Perform any post create functions such as generating grammars.- Specified by:
createExternalGrammar
in interfaceWadlGenerator
- Returns:
- A map of extra files to the content of those file encoded in UTF-8
-
attachTypes
Description copied from interface:WadlGenerator
Process the elements in the WADL definition to attach schema types as required.- Specified by:
attachTypes
in interfaceWadlGenerator
- Parameters:
egd
- The root description used to resolve these entries
-