Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
wadl2java -p <package-name> -sp <[schema-namespace =]package-name>* 
          -tMap <schema-type = java-type>* -repMap <media-type = java-type>*
          -resource <resource-name> -b <binding-file-name>* -catalog <catalog-file-name> 
          -d <output-directory> -compile -classdir <compile-classes-directory> -interface -impl 
          -noTypes -inheritResourceParams -generateEnums -supportMultipleXmlReps -async<methodNames>*
          -responseType<methodNames>* -async<methodNames>* -xjc<xjc-arguments>* 
          -h -v -verbose -quiet <wadl>

Note 'tMap', 'repMap', 'noTypes' and 'inheritResourceParams' options are supported starting from CXF 2.6.3, 'noVoidForEmptyResponses' - from 2.6.4, '-async' - from 2.7.1, '-xjc' - from 2.7.4, 'responseType' - from 2.7.12/3.0.0

The options are reviewed in the following table.

Option

Interpretation

-?,-h,-help

Displays the online help for this utility and exits.

-p PackageName

Specifies the package name of root resource classes

-sp [ schema-namespace= ] PackageName

Specifies one or more package names corresponding to individual schema namespaces

-resource RootResourceName

Specifies a full name of root resource class if WADL contains a single resource

-interface

Default option unless -impl option is used - Java interfaces with JAX-RS annotations are generated

-impl

Generates starting implementation code. Can also be used with -interface option

-noTypes

Requests that no schema generation is needed. Can also be used with -tMap option

-tMap schema-type=java-type

Provides mapping between schema elements and java types

-repMap media-type=java-type

Provides mapping between media types and java types

-b binding-name

Specifies JAXB binding files. Use multiple -b flags to specify multiple entries.

-catalog catalog-file-name

Specifies catalog file to map referenced wadl/schemas

-d output-directory

Specifies the directory into which the generated code files are written.

-compile

Compiles generated Java files.

-classdir compile-class-dir

Specifies the directory into which the compiled class files are written.

-noVoidForEmptyResponses

Generate JAX-RS Response instead of 'void' for methods with no response representations.

-inheritResourceParams

Get current resource-level path or matrix parameters added to generated methods for all descendant resources.

-generateEnums

Generates Java enums for parameters with options.

-supportMultipleXmlReps

Generates separate method for every XML representation in a single WADL request element.

-generateResponse methodNamesGenerates JAX-RS Response method response type, methodNames is a comma-separated list of WADL method name or id attributes

-async methodNames

Adds JAX-RS 2.0 AsyncResponse parameter to generated methods, methodNames is a comma-separated list of WADL method name or id attributes

-xjc<xjc args>

Specifies a comma separated list of arguments that are passed directly to the XJC processor, example -xjc-Xts.

wadlurl

The path and name of the WADL file to use in generating the code.

...

The 'repMap' option is similar and provides a mapping between the representations of a given media type and Java type. For example, if one has to process different XML representations in one method, a mapping like '-repMap application/xml=javax.xml.transform.Source' will work, affecting declarations like "<wadl:representation mediaTpe='application/xml'". Similarly CXF org.apache.cxf.jaxrs.ext.multipart.MultipartBody class can be linked to 'multipart/form-data' representations, etc.

The 'generateResponse' and 'async' options accept a comma separated list of method names, providing a single '*' (no quotes) as a method name will get these options affecting all of the generated methods.

JAXB customizations

At the moment it is possible to apply external JAXB customizations to WADL grammars however it is not possible yet to restrict a given customization to a specific WADL document or explicitly inlined schema. Linking binding to external schemas works, for example, the following bindings file can be used:

...