org.codehaus.mojo.jaxb2
Class AbstractXjcMojo

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.codehaus.mojo.jaxb2.AbstractXjcMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
TestXjcMojo, XjcMojo

public abstract class AbstractXjcMojo
extends org.apache.maven.plugin.AbstractMojo

Abstract class for parsing XML schemas and binding resources to produce a corresponding object model based on the JAXB XJC binding compiler.


Field Summary
protected  String arguments
          Space separated string of extra arguments, for instance -Xfluent-api -episode somefile; These will be passed on to XJC as "-Xfluent-api" "-episode" "somefile" options.
protected  String bindingFiles
          List of files to use for bindings, comma delimited.
protected  File catalog
          Catalog file to resolve external entity references.
protected  boolean clearOutputDir
          Clears the output directory on each run.
protected  boolean dtd
          Treat input schemas as XML DTD (experimental, unsupported).
protected  boolean explicitAnnotation
          Allow generation of explicit annotations that are needed for JAXB2 to work on RetroTranslator.
protected  boolean extension
          Allow to use the JAXB Vendor Extensions.
protected  boolean failOnNoSchemas
          Fails the mojo if no schemas are found.
protected  File generatedResourcesDirectory
          The optional directory where generated resources can be placed, generated by addons/plugins.
protected  String httpproxy
          Set HTTP/HTTPS proxy.
protected  String includeSchemasOutputPath
          The output path to include in your jar/war/etc if you wish to include your schemas in your artifact.
protected  boolean npa
          Suppress generation of package level annotations (package-info.java).
protected  boolean nv
          Do not perform strict validation of the input schema(s).
protected  String packageName
          The package under which the source files will be generated.
protected  boolean quiet
          Suppress compiler output.
protected  boolean readOnly
          Deprecated. Not suitable for a Maven build.
protected  boolean relaxng
          Treat input schemas as RELAX NG (experimental, unsupported).
protected  boolean relaxngCompact
          Treat input as RELAX NG compact syntax (experimental, unsupported).
protected  String schemaFiles
          List of files to use for schemas, comma delimited.
protected  String schemaListFileName
          A filename containing the list of files to use for schemas, comma delimited.
protected  String target
          Specifies the runtime environment in which the generated code is supposed to run, if older than the JAXB version used by the plugin (for example "2.0").
protected  boolean verbose
          Be extra verbose.
protected  boolean wsdl
          Treat input as WSDL and compile schemas inside it (experimental, unsupported).
protected  boolean xmlschema
          Treat input as W3C XML Schema (default).
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
AbstractXjcMojo()
           
 
Method Summary
protected abstract  void addCompileSourceRoot(org.apache.maven.project.MavenProject project)
           
protected abstract  void addResource(org.apache.maven.project.MavenProject project, org.apache.maven.model.Resource resource)
           
protected  void copyXSDs(File targetBaseDir)
           
 void execute()
           
protected abstract  File getBindingDirectory()
           
 File[] getBindingFiles()
          Returns a file array of xjb files to translate to object models.
protected abstract  List<String> getClasspathElements(org.apache.maven.project.MavenProject project)
           
protected abstract  File getOutputDirectory()
           
protected abstract  File getSchemaDirectory()
           
protected  void getSchemasFromFileListing(List<URL> files)
          Gets all the entries in the given schemaListFileName and adds them to the list of files to send to xjc.
protected abstract  File getStaleFile()
           
 URL[] getXSDFiles()
          Returns a file array of xsd files to translate to object models.
 
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

generatedResourcesDirectory

protected File generatedResourcesDirectory
The optional directory where generated resources can be placed, generated by addons/plugins.


packageName

protected String packageName
The package under which the source files will be generated.


catalog

protected File catalog
Catalog file to resolve external entity references. Supports TR9401, XCatalog, and OASIS XML Catalog format.


httpproxy

protected String httpproxy
Set HTTP/HTTPS proxy. Format is [user[:password]@]proxyHost[:proxyPort]


bindingFiles

protected String bindingFiles
List of files to use for bindings, comma delimited. If none, then all xjb files are used in the bindingDirectory.


schemaFiles

protected String schemaFiles
List of files to use for schemas, comma delimited. If none, then all xsd files are used in the schemaDirectory. This parameter also accepts Ant-style file patterns.
Note: you can only use either the 'schemaFiles' or the 'schemaListFileName' option (you may not use both at once!).


schemaListFileName

protected String schemaListFileName
A filename containing the list of files to use for schemas, comma delimited. If none, then all xsd files are used in the schemaDirectory.
Note: you can only use either the 'schemaFiles' or the 'schemaListFileName' option (you may not use both at once!).


dtd

protected boolean dtd
Treat input schemas as XML DTD (experimental, unsupported).


npa

protected boolean npa
Suppress generation of package level annotations (package-info.java).


nv

protected boolean nv
Do not perform strict validation of the input schema(s).


relaxng

protected boolean relaxng
Treat input schemas as RELAX NG (experimental, unsupported).


relaxngCompact

protected boolean relaxngCompact
Treat input as RELAX NG compact syntax (experimental, unsupported).


quiet

protected boolean quiet
Suppress compiler output.


readOnly

protected boolean readOnly
Deprecated. Not suitable for a Maven build.
Generated files will be in read-only mode.


verbose

protected boolean verbose
Be extra verbose.


wsdl

protected boolean wsdl
Treat input as WSDL and compile schemas inside it (experimental, unsupported).


xmlschema

protected boolean xmlschema
Treat input as W3C XML Schema (default).


extension

protected boolean extension
Allow to use the JAXB Vendor Extensions.


explicitAnnotation

protected boolean explicitAnnotation
Allow generation of explicit annotations that are needed for JAXB2 to work on RetroTranslator.


arguments

protected String arguments
Space separated string of extra arguments, for instance -Xfluent-api -episode somefile; These will be passed on to XJC as "-Xfluent-api" "-episode" "somefile" options.


includeSchemasOutputPath

protected String includeSchemasOutputPath
The output path to include in your jar/war/etc if you wish to include your schemas in your artifact.


clearOutputDir

protected boolean clearOutputDir
Clears the output directory on each run. Defaults to 'true' but if false, will not clear the directory.


target

protected String target
Specifies the runtime environment in which the generated code is supposed to run, if older than the JAXB version used by the plugin (for example "2.0"). This will create generated code that doesn't use any newer JAXB features. Thus, allowing the generated code to run with an earlier JAXB 2.x runtime.

Since:
1.3

failOnNoSchemas

protected boolean failOnNoSchemas
Fails the mojo if no schemas are found.

Since:
1.3
Constructor Detail

AbstractXjcMojo

public AbstractXjcMojo()
Method Detail

execute

public void execute()
             throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

addCompileSourceRoot

protected abstract void addCompileSourceRoot(org.apache.maven.project.MavenProject project)

addResource

protected abstract void addResource(org.apache.maven.project.MavenProject project,
                                    org.apache.maven.model.Resource resource)

copyXSDs

protected void copyXSDs(File targetBaseDir)
                 throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

getSchemasFromFileListing

protected void getSchemasFromFileListing(List<URL> files)
                                  throws org.apache.maven.plugin.MojoExecutionException
Gets all the entries in the given schemaListFileName and adds them to the list of files to send to xjc.

Throws:
org.apache.maven.plugin.MojoExecutionException - if an error occurs

getBindingFiles

public final File[] getBindingFiles()
Returns a file array of xjb files to translate to object models.

Returns:
An array of binding files to be parsed by the schema compiler.

getXSDFiles

public final URL[] getXSDFiles()
                        throws org.apache.maven.plugin.MojoExecutionException
Returns a file array of xsd files to translate to object models.

Returns:
An array of schema files to be parsed by the schema compiler.
Throws:
org.apache.maven.plugin.MojoExecutionException

getStaleFile

protected abstract File getStaleFile()

getOutputDirectory

protected abstract File getOutputDirectory()

getSchemaDirectory

protected abstract File getSchemaDirectory()

getBindingDirectory

protected abstract File getBindingDirectory()

getClasspathElements

protected abstract List<String> getClasspathElements(org.apache.maven.project.MavenProject project)
                                              throws org.apache.maven.artifact.DependencyResolutionRequiredException
Throws:
org.apache.maven.artifact.DependencyResolutionRequiredException


Copyright © 2005-2012 Codehaus. All Rights Reserved.