## com.sun.jersey.server.wadl.generators
Class WadlGeneratorGrammarsSupport

    java.lang.Object
      com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport

All Implemented Interfaces:
  WadlGenerator

    public class WadlGeneratorGrammarsSupport

extends java.lang.Object
implements WadlGenerator

This `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.

Created on: Jun 24, 2008

Version:
  $Id$
Author:
  Martin Grotzke

Nested Class Summary

Nested classes/interfaces inherited from interface com.sun.jersey.server.wadl.WadlGenerator
`WadlGenerator.Environment, WadlGenerator.ExternalGrammarDefinition, WadlGenerator.Resolver`

Constructor Summary
`WadlGeneratorGrammarsSupport()`
`WadlGeneratorGrammarsSupport(WadlGenerator delegate, com.sun.research.ws.wadl.Grammars grammars)`

Method Summary
`void` | `attachTypes(ApplicationDescription egd)` Process the elements in the WADL definition to attach schema types as required.
`com.sun.research.ws.wadl.Application` | `createApplication(UriInfo requestInfo)`
`WadlGenerator.ExternalGrammarDefinition` | `createExternalGrammar()` Perform any post create functions such as generating grammars.
`com.sun.research.ws.wadl.Method` | `createMethod(AbstractResource ar, AbstractResourceMethod arm)`
`com.sun.research.ws.wadl.Param` | `createParam(AbstractResource ar, AbstractMethod am, Parameter p)`
`com.sun.research.ws.wadl.Request` | `createRequest(AbstractResource ar, AbstractResourceMethod arm)`
`com.sun.research.ws.wadl.Representation` | `createRequestRepresentation(AbstractResource ar, AbstractResourceMethod arm, MediaType mt)`
`com.sun.research.ws.wadl.Resource` | `createResource(AbstractResource ar, java.lang.String path)`
`com.sun.research.ws.wadl.Resources` | `createResources()`
`java.util.List<com.sun.research.ws.wadl.Response>` | `createResponses(AbstractResource ar, AbstractResourceMethod arm)`

`java.lang.String`

`getRequiredJaxbContextPath()`
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 by `WadlGenerator.setWadlGeneratorDelegate(WadlGenerator)`.
If you do not use custom jaxb beans, then simply return `_delegate.getRequiredJaxbContextPath()`, otherwise return the delegate's `WadlGenerator.getRequiredJaxbContextPath()` together with your required context path (separated by a colon):

`void` | `init()` Invoked before all methods related to wadl-building are invoked.
`void` | `setEnvironment(WadlGenerator.Environment env)` Delegates the setting of the environment
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WadlGeneratorGrammarsSupport

    public WadlGeneratorGrammarsSupport()

### WadlGeneratorGrammarsSupport

    public WadlGeneratorGrammarsSupport(WadlGenerator delegate,
                                        com.sun.research.ws.wadl.Grammars grammars)

Method Detail

### setWadlGeneratorDelegate

    public void setWadlGeneratorDelegate(WadlGenerator delegate)

  Description copied from interface: `WadlGenerator`
  Sets the delegate that is decorated by this wadl generator. Is invoked directly after this generator is instantiated before `WadlGenerator.init()` or any setter method is invoked.

  Specified by:
    `setWadlGeneratorDelegate` in interface `WadlGenerator`
  Parameters:
    `delegate` - the wadl generator to decorate

### setEnvironment

    public void setEnvironment(WadlGenerator.Environment env)

  Delegates the setting of the environment

  Specified by:
    `setEnvironment` in interface `WadlGenerator`

### setOverrideGrammars

    public void setOverrideGrammars(java.lang.Boolean overrideGrammars)

### getRequiredJaxbContextPath

    public java.lang.String 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 by `WadlGenerator.setWadlGeneratorDelegate(WadlGenerator)`.
  If you do not use custom jaxb beans, then simply return `_delegate.getRequiredJaxbContextPath()`, otherwise return the delegate's `WadlGenerator.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.

  Specified by:
    `getRequiredJaxbContextPath` in interface `WadlGenerator`
  Returns:
    simply the `WadlGenerator.getRequiredJaxbContextPath()` of the delegate or the `WadlGenerator.getRequiredJaxbContextPath()` + ":" + ${yourContextPath}.

### setGrammarsFile

    public void setGrammarsFile(java.io.File grammarsFile)

### setGrammarsStream

    public void setGrammarsStream(java.io.InputStream grammarsStream)

### init

    public void init()
              throws java.lang.Exception

  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 invoke `this.delegate.init()`.

  Specified by:
    `init` in interface `WadlGenerator`
  Throws:
    `java.lang.Exception`

### createApplication

    public com.sun.research.ws.wadl.Application createApplication(UriInfo requestInfo)

  Specified by:
    `createApplication` in interface `WadlGenerator`
  Returns:
    application
  See Also:
    `com.sun.jersey.server.wadl.WadlGenerator#createApplication()`

### createMethod

    public com.sun.research.ws.wadl.Method createMethod(AbstractResource ar,
                                                        AbstractResourceMethod arm)

  Specified by:
    `createMethod` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `arm` - abstract resource method
  Returns:
    method
  See Also:
    `WadlGenerator.createMethod(com.sun.jersey.api.model.AbstractResource, com.sun.jersey.api.model.AbstractResourceMethod)`

### createRequest

    public com.sun.research.ws.wadl.Request createRequest(AbstractResource ar,
                                                          AbstractResourceMethod arm)

  Specified by:
    `createRequest` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `arm` - abstract resource method
  Returns:
    request
  See Also:
    `WadlGenerator.createRequest(com.sun.jersey.api.model.AbstractResource, com.sun.jersey.api.model.AbstractResourceMethod)`

### createParam

    public com.sun.research.ws.wadl.Param createParam(AbstractResource ar,
                                                      AbstractMethod am,
                                                      Parameter p)

  Specified by:
    `createParam` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `am` - abstract method
    `p` - parameter
  Returns:
    parameter
  See Also:
    `WadlGenerator.createParam(com.sun.jersey.api.model.AbstractResource, com.sun.jersey.api.model.AbstractMethod, com.sun.jersey.api.model.Parameter)`

### createRequestRepresentation

    public com.sun.research.ws.wadl.Representation createRequestRepresentation(AbstractResource ar,
                                                                               AbstractResourceMethod arm,
                                                                               MediaType mt)

  Specified by:
    `createRequestRepresentation` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `arm` - abstract resource method
    `mt` - media type
  Returns:
    respresentation type
  See Also:
    `WadlGenerator.createRequestRepresentation(com.sun.jersey.api.model.AbstractResource, com.sun.jersey.api.model.AbstractResourceMethod, javax.ws.rs.core.MediaType)`

### createResource

    public com.sun.research.ws.wadl.Resource createResource(AbstractResource ar,
                                                            java.lang.String path)

  Specified by:
    `createResource` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `path` -
  Returns:
    resource
  See Also:
    `WadlGenerator.createResource(com.sun.jersey.api.model.AbstractResource, java.lang.String)`

### createResources

    public com.sun.research.ws.wadl.Resources createResources()

  Specified by:
    `createResources` in interface `WadlGenerator`
  Returns:
    resources
  See Also:
    `WadlGenerator.createResources()`

### createResponses

    public java.util.List<com.sun.research.ws.wadl.Response> createResponses(AbstractResource ar,
                                                                             AbstractResourceMethod arm)

  Specified by:
    `createResponses` in interface `WadlGenerator`
  Parameters:
    `ar` - abstract resource
    `arm` - abstract resource method
  Returns:
    response
  See Also:
    `WadlGenerator.createResponses(com.sun.jersey.api.model.AbstractResource, com.sun.jersey.api.model.AbstractResourceMethod)`

### createExternalGrammar

    public WadlGenerator.ExternalGrammarDefinition createExternalGrammar()

  Description copied from interface: `WadlGenerator`
  Perform any post create functions such as generating grammars.

  Specified by:
    `createExternalGrammar` in interface `WadlGenerator`
  Returns:
    A map of extra files to the content of those file encoded in UTF-8

### attachTypes

    public void attachTypes(ApplicationDescription egd)

  Description copied from interface: `WadlGenerator`
  Process the elements in the WADL definition to attach schema types as required.

  Specified by:
    `attachTypes` in interface `WadlGenerator`
  Parameters:
    `egd` - The root description used to resolve these entries

Copyright © 2017 Oracle Corporation. All Rights Reserved.