public abstract class WadlGeneratorConfig
extends java.lang.Object
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:
WadlGenerator instances by yourselfWadlGeneratorConfig 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();
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:
org.example.Foo and the
provided property value is of type org.example.FooInputStream 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.
File and the provided property value is a String: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();
}
}
| Modifier and Type | Class and Description |
|---|---|
static class |
WadlGeneratorConfig.WadlGeneratorConfigBuilder |
static class |
WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder |
| Constructor and Description |
|---|
WadlGeneratorConfig() |
WadlGeneratorConfig(WadlGenerator wadlGenerator)
Creates a new WadlGeneratorConfig from the provided wadlGenerator (must already be initialized).
|
| Modifier and Type | Method and Description |
|---|---|
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(). |
public WadlGeneratorConfig()
public WadlGeneratorConfig(WadlGenerator wadlGenerator)
wadlGenerator - the wadl generator to provide, must not be null.public abstract java.util.List<WadlGeneratorDescription> configure()
public WadlGenerator getWadlGenerator()
WadlGenerator, based on the WadlGeneratorDescriptions
provided by configure().WadlGenerator.public static WadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder generator(java.lang.Class<? extends WadlGenerator> generatorClass)
WadlGeneratorConfig:
generator(<class>)
.prop(<name>, <value>)
.prop(<name>, <value>)
.generator(<class>)
.prop(<name>, <value>)
.prop(<name>, <value>)
.build()generatorClass - the class of the wadl generator to configureWadlGeneratorConfig.WadlGeneratorConfigDescriptionBuilder.public static WadlGeneratorConfig.WadlGeneratorConfigBuilder generator(WadlGenerator generator)
WadlGeneratorConfig:
generator(<generator>).generator(<generator>).build()generator - the configured wadl generatorWadlGeneratorConfig.WadlGeneratorConfigBuilder.Copyright © 2015 Oracle Corporation. All Rights Reserved.