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 have two options:

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();
 
The second option, creating the WadlGenerators by yourself, would look like the following:
WadlGeneratorConfig config = WadlGeneratorConfig
            .generator( generator )
            .generator( generator2 )
            .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:

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 4088 2010-08-24 11:15:13Z pavel_bucek $
Author:
Martin Grotzke

Nested Class Summary
static class WadlGeneratorConfig.WadlGeneratorConfigBuilder
           
static class WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder
           
 
Constructor Summary
WadlGeneratorConfig()
           
WadlGeneratorConfig(WadlGenerator wadlGenerator)
          Creates a new WadlGeneratorConfig from the provided wadlGenerator (must already be initialized).
 
Method Summary
abstract  java.util.List<WadlGeneratorDescription> configure()
           
static WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder generator(java.lang.Class<? extends WadlGenerator> generatorClass)
          Start to build an instance of WadlGeneratorConfig:
static WadlGeneratorConfig.WadlGeneratorConfigBuilder generator(WadlGenerator generator)
          Start to build an instance of WadlGeneratorConfig:
 WadlGenerator getWadlGenerator()
          Get or load the initialized WadlGenerator, based on the WadlGeneratorDescriptions provided by configure().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WadlGeneratorConfig

public WadlGeneratorConfig()

WadlGeneratorConfig

public WadlGeneratorConfig(WadlGenerator wadlGenerator)
Creates a new WadlGeneratorConfig from the provided wadlGenerator (must already be initialized).

Parameters:
wadlGenerator - the wadl generator to provide, must not be null.
Method Detail

configure

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

getWadlGenerator

public WadlGenerator getWadlGenerator()
Get or load the initialized 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.

generator

public static WadlGeneratorConfig.WadlGeneratorConfigBuilder generator(WadlGenerator generator)
Start to build an instance of WadlGeneratorConfig:
generator(<generator>).generator(<generator>).build()

Parameters:
generator - the configured wadl generator
Returns:
an instance of WadlGeneratorConfig.WadlGeneratorConfigBuilder.


Copyright © 2010 Oracle Corporation. All Rights Reserved.