All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.cxf.tools.wadlto.jaxrs.jaxrs-toolspec.xml Maven / Gradle / Ivy

There is a newer version: 3.0.0-milestone2
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<toolspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict"
      xsi:schemaLocation="http://cxf.apache.org/Xutil/ToolSpecification http://cxf.apache.org/schema/xutil/tool-specification.xsd"
      xmlns="http://cxf.apache.org/Xutil/ToolSpecification"
      xmlns:ts="http://cxf.apache.org/Xutil/ToolSpecification">

    <annotation>
Examples:

        wadl2java application.wadl
        wadl2java -p com.books application.wadl
    </annotation>

    <usage>
        <optionGroup id="options">
            <option id="wadlns">
                <annotation>
                    Specify the WADL namespace.
                </annotation>
                <switch>wadlns</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>wadl-namespace</annotation>
                </associatedArgument>
            </option>
            
            <option id="packagename">
                <annotation>
                    Specifies the java package name to use for the generated code
                    representing WADL resource elements.
                </annotation>
                <switch>p</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>package-name</annotation>
                </associatedArgument>
            </option>
            
            <option id="schemaPackagename" maxOccurs="unbounded">
                <annotation>
                    Specifies the java package name to use for the generated code
                    representing WADL grammar elements.
                    Optionally specify a namespace to Java package name
                    mapping.
                </annotation>
                <switch>sp</switch>
                <associatedArgument placement="afterSpace">
                    <valuetype>NamingSpacePackageString</valuetype>
                    <annotation>[schema-namespace =]package-name</annotation>
                </associatedArgument>
            </option>

            <option id="resourcename">
                <annotation>
                    Specify the simple class name to use for the generated code
                    representing a WADL resource without the id attribute.
                </annotation>
                <switch>resource</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>resource-name</annotation>
                </associatedArgument>
            </option>
            
            <option id="binding" maxOccurs="unbounded">
                <annotation>
                    Specify external jaxb binding files. Use one
                    -b flag for each binding file.
                </annotation>
                <switch>b</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>binding-file-name</annotation>
                </associatedArgument>
            </option>
            
            <option id="catalog" maxOccurs="1">
                <annotation>
                    Specify catalog file to map the imported wadl/schema.
                </annotation>
                <switch>catalog</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>catalog-file-name</annotation>
                </associatedArgument>
            </option>

            <option id="outputdir" maxOccurs="1">
                <annotation>
                    Specify the directory into which the code is placed.
                </annotation>
                <switch>d</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>output-directory</annotation>
                </associatedArgument>
            </option>

            <option id="compile" maxOccurs="1">
                <annotation>
                    Specifies that the generated code is compiled by the tool.</annotation>
                <switch>compile</switch>
            </option>

            <option id="classdir" maxOccurs="1">
                <annotation>
                    Specifies the directory into which compiled class files are placed.</annotation>
                <switch>classdir</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>compile-classes-directory</annotation>
                </associatedArgument>
            </option>

            <option id="interface" maxOccurs="1">
                <annotation>
                    Specifies that interface is generated.
                </annotation>
                <switch>interface</switch>
            </option>

            <option id="impl" maxOccurs="1">
                <annotation>
                    Specifies that a dummy service implementation is generated.
                </annotation>
                <switch>impl</switch>
            </option>
            
            <option id="generateEnums" maxOccurs="1">
                <annotation>
                    Specifies that Enum classes can be generated to represent
                    parameters with multiple options
                </annotation>
                <switch>generateEnums</switch>
            </option>
            
            <option id="noAddressBinding" maxOccurs="1">
                <annotation>
                    Specifies that the generator should not use the address jaxb binding file to map wsa:EndpointReferenceType 
                    or wsa:EndpointReference to javax.xml.ws.wsaddressing.W3CEndpointReference.
                </annotation>
                <switch>noAddressBinding</switch>
            </option>
            
            <option id="supportMultipleXmlReps" maxOccurs="1">
                <annotation>
                    Specifies that if a method contains multiple request XML representations
                    then a separate method per every such representation will be generated.
                    Note, enabling this option is not recommended when a server-side JAX-RS
                    code is generated.
                    A single method containing a javax.xml.transform.Source input parameter
                    will be generated by default such cases.   
                </annotation>
                <switch>supportMultipleXmlReps</switch>
            </option>
            
<!-- 

TODO: consider implementing most of the following options

            <option id="reserveClass" maxOccurs="unbounded">
                <annotation>
                    Reserve a class name to keep the code generator from generating
                    a class of the given name.   In name cases, a binding file or 
                    use of -autoNameResolution flag may be necessary for the 
                    code generator to completely generate usable code.
                </annotation>
                <switch>reserveClass</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>class-name</annotation>
                </associatedArgument>
            </option>
            <option id="autoNameResolution" maxOccurs="1">
                <annotation>
                    Specifies that the tool will attempt to resolve class naming conflicts 
                    without requiring the use of binding customizations.
                </annotation>
                <switch>autoNameResolution</switch>
            </option>
            

            <option id="server" maxOccurs="1">
                <annotation>
                    Specifies that server code is generated.
                </annotation>
                <switch>server</switch>
            </option>

            <option id="client" maxOccurs="1">
                <annotation>
                    Specifies that client code is generated.
                </annotation>
                <switch>client</switch>
            </option>

            <option id="all" maxOccurs="1">
                <annotation>
                    Specifies that interfaces, types , service, server , dummy impl, client
                    and ant script are generated.
                </annotation>
                <switch>all</switch>
            </option>

            <option id="nexclude" maxOccurs="unbounded">
                <annotation>
                    Specifies a WSDL namespace to exclude when generating code. This
                    option can be specified multiple times. Optionally
                    specify the Java package name to use for the WSDL namespace.
                </annotation>
                <switch>nexclude</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>schema-namespace [= java-package-name]</annotation>
                </associatedArgument>
            </option>
 
            <option id="notypes" maxOccurs="1">
                <annotation>Turns off generating types</annotation>
                <switch>noTypes</switch>
            </option>
            <option id="defaultns" maxOccurs="1">
                <annotation>
                    Enables loading the default namespace package name mapping. The default is true.
                </annotation>
                <switch>dns</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>Default value is true</annotation>
                    <valueenum>true|false</valueenum>
                </associatedArgument>
            </option>

            <option id="defaultex" maxOccurs="1">
                <annotation>
                    Enable loading the default excludes namespace mapping. The default is true.</annotation>
                <switch>dex</switch>
                <associatedArgument placement="afterSpace">
                    <annotation>(true, false)</annotation>
                    <valueenum>true|false</valueenum>
                </associatedArgument>
            </option>
        
            <option id="validate" maxOccurs="1">
                <annotation>
                    Specifies that the WADL is validated before generating the code. Using 
                    this option is highly recommended.
                </annotation>
                <switch>validate</switch>
            </option>
            
            <option id="newonly" maxOccurs="1">
                <annotation>
                    Specifies that existing code will not be over written. NOTE: You will have to solve any resulting compilation problems by yourself
                </annotation>
                <switch>keep</switch>
            </option>
            
            <option id="xjc" maxOccurs="unbounded">
                <annotation>
                    Specifies a comma separated list of arguments that are passed directly to XJC when the
                    JAXB data binding  is used. This option causes XJC to load additional plugins that 
                    augment code generation. For example to load the toString(ts) plugin that will add a toString() 
                    method to all generated types the following &lt;xjc arguments&gt; would 
                    be used:
                          -xjc-Xts
                    A list of available XJC plugins can be obtained by using -xjc-X.                     
                </annotation>
                <associatedArgument placement="immediate">
                    <annotation>xjc-arguments</annotation>
                </associatedArgument>
                <switch>xjc</switch>
            </option>
-->
        </optionGroup>
        <optionGroup id="common_options">
            <option id="help" maxOccurs="1">
                <annotation>
                    Display detailed information for options.
                </annotation>
                <switch>h</switch>
                <switch>?</switch>
                <switch>help</switch>
            </option>

            <option id="version">
                <annotation>
                    Display the version of the tool.</annotation>
                <switch>version</switch>
                <switch>v</switch>
            </option>

            <option id="verbose">
                <annotation>
                    Specifies that the generator runs in verbose mode.</annotation>
                <switch>verbose</switch>
                <switch>V</switch>
            </option>

            <option id="quiet">
                <annotation>
                    Specifies that the generator runs in quiet mode.</annotation>
                <switch>quiet</switch>
                <switch>q</switch>
                <switch>Q</switch>
            </option>
        </optionGroup>
        <argument id="wadl" minOccurs="1" maxOccurs="1">
            <annotation>
                wadl-url
            </annotation>
        </argument>
    </usage>
</toolspec>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy