com.sun.jersey.api.wadl.config
Class WadlGeneratorConfig

java.lang.Object  extended by com.sun.jersey.api.wadl.config.WadlGeneratorConfig

public abstract class WadlGeneratorConfig
extends java.lang.Object

Provides a configured WadlGenerator with all decorations (the default wadl generator decorated by other generators).

Creating a WadlGeneratorConfig

If you want to create an instance at runtime you can configure the WadlGenerator class and property names/values. A new instance of the Generator is created for each generation action. The first option would look like this:

WadlGeneratorConfig config = WadlGeneratorConfig          .generator( MyWadlGenerator.class )            .prop( "someProperty", "someValue" )          .generator( MyWadlGenerator2.class )            .prop( "someProperty", "someValue" )            .prop( "anotherProperty", "anotherValue" )          .build(); 

If you want to specify the WadlGeneratorConfig in the web.xml you have to subclass it and set the servlet init-param ResourceConfig.PROPERTY_WADL_GENERATOR_CONFIG to the name of your subclass. This class might look like this:
class MyWadlGeneratorConfig extends WadlGeneratorConfig {        public List configure() {            return generator( MyWadlGenerator.class )                .prop( "foo", propValue )              .generator( MyWadlGenerator2.class )                .prop( "bar", propValue2 )              .descriptions();        }    } 

Configuring the WadlGenerator

The WadlGenerator properties will be populated with the provided properties like this:

  • The types match exactly:
    if the WadlGenerator property is of type org.example.Foo and the provided property value is of type org.example.Foo
  • Types that provide a constructor for the provided type (mostly java.lang.String)
  • java.io.InputStream: The InputStream can e.g. represent a file. The stream is loaded from the property value (provided by the WadlGeneratorDescription) via ClassLoader.getResourceAsStream(String). It will be closed after WadlGenerator.init() was called.
  • Deprected, will be removed in future versions:
    The WadlGenerator property is of type File and the provided property value is a String:
    the provided property value can contain the prefix classpath: to denote, that the path to the file is relative to the classpath. In this case, the property value is stripped by the prefix classpath: and the File is created via
    new File( generator.getClass().getResource( strippedFilename ).toURI() )
    Notice that the filename is loaded from the classpath in this case, e.g. classpath:test.xml refers to a file in the package of the class (WadlGeneratorDescription.getGeneratorClass()). The file reference classpath:/test.xml refers to a file that is in the root of the classpath.

Existing WadlGenerator implementations:

A common example for a WadlGeneratorConfig would be this:

class MyWadlGeneratorConfig extends WadlGeneratorConfig {        public List configure() {            return generator( WadlGeneratorApplicationDoc.class )                 .prop( "applicationDocsStream", "application-doc.xml" )               .generator( WadlGeneratorGrammarsSupport.class )                 .prop( "grammarsStream", "application-grammars.xml" )               .generator( WadlGeneratorResourceDocSupport.class )                 .prop( "resourceDocStream", "resourcedoc.xml" )               .descriptions();        }    } 

Version:
$Id: WadlGeneratorConfig.java 5180 2011-07-12 13:58:19Z gdavison $
Author:
Martin Grotzke


Nested Class Summary
static classWadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder
           
 
Constructor Summary
WadlGeneratorConfig()
           
 
Method Summary
abstract  java.util.List<WadlGeneratorDescription>configure()
           
 WadlGeneratorcreateWadlGenerator()
          Create a new instance of WadlGenerator, based on the WadlGeneratorDescriptions provided by configure().
static WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuildergenerator(java.lang.Class<? extends WadlGenerator> generatorClass)
          Start to build an instance of WadlGeneratorConfig:
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WadlGeneratorConfig

public WadlGeneratorConfig()
Method Detail

configure

public abstract java.util.List<WadlGeneratorDescription> configure()

createWadlGenerator

public WadlGenerator createWadlGenerator()
Create a new instance of WadlGenerator, based on the WadlGeneratorDescriptions provided by configure().

Returns:
the initialized WadlGenerator

generator

public static WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder generator(java.lang.Class<? extends WadlGenerator> generatorClass)
Start to build an instance of WadlGeneratorConfig:
generator(<class>)      .prop(<name>, <value>)      .prop(<name>, <value>) .generator(<class>)      .prop(<name>, <value>)      .prop(<name>, <value>)      .build()

Parameters:
generatorClass - the class of the wadl generator to configure
Returns:
an instance of WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder.


Copyright © 2011
Oracle Corporation. All Rights Reserved.


NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14