org.jvnet.jaxb2.maven2
Class RawXJC2Mojo<O>

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.jvnet.jaxb2.maven2.AbstractXJC2Mojo<O>
          extended by org.jvnet.jaxb2.maven2.RawXJC2Mojo<O>
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
XJC20Mojo, XJC21Mojo, XJC22Mojo

public abstract class RawXJC2Mojo<O>
extends AbstractXJC2Mojo<O>

Maven JAXB 2.x Mojo.

Author:
Aleksei Valikov (valikov@gmx.net)

Field Summary
 
Fields inherited from class org.jvnet.jaxb2.maven2.AbstractXJC2Mojo
catalogResolver, plugins
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
RawXJC2Mojo()
           
 
Method Summary
protected  org.apache.xml.resolver.tools.CatalogResolver createCatalogResolver()
          Creates an instance of catalog resolver.
protected  ClassLoader createClassLoader(ClassLoader parent)
           
 OptionsConfiguration createOptionsConfiguration()
           
protected  void doExecute()
           
abstract  void doExecute(O options)
           
 void execute()
          Execute the maven2 mojo to invoke the xjc2 compiler based on any configuration settings.
protected  List<String> getArguments()
          Returns array of command line arguments for XJC.
 List<File> getBindingFiles()
           
protected  List<URL> getBindingUrls()
          ************************************************************************* *
 List<File> getDependsFiles()
           
 Collection<org.apache.maven.artifact.Artifact> getEpisodeArtifacts()
           
 Collection<File> getEpisodeFiles()
           
 List<File> getProducesFiles()
           
 List<File> getSchemaFiles()
           
protected  List<URL> getSchemaUrls()
           
 Collection<org.apache.maven.artifact.Artifact> getXjcPluginArtifacts()
           
 Collection<File> getXjcPluginFiles()
           
 List<URL> getXjcPluginURLs()
           
protected  void injectDependencyDefaults()
          ************************************************************************* *
protected  void injectDependencyDefaults(org.apache.maven.model.Dependency[] dependencies)
           
protected  boolean isUpToDate()
           
protected  void logConfiguration()
          Log the configuration settings.
protected  void resolveArtifacts()
           
protected  void resolveEpisodeArtifacts()
           
protected  void resolveXJCPluginArtifacts()
           
protected  void setupBindingFiles()
           
protected  void setupDependsFiles()
           
protected  void setupDirectories()
           
protected  void setupFiles()
           
protected  void setupLogging()
          Initializes logging.
protected  void setupMavenPaths()
          Augments Maven paths with generated resources.
protected  void setupProducesFiles()
           
protected  void setupSchemaFiles()
           
 
Methods inherited from class org.jvnet.jaxb2.maven2.AbstractXJC2Mojo
createResourceEntryUrls, getAddCompileSourceRoot, getAddTestCompileSourceRoot, getArgs, getArtifactFactory, getArtifactMetadataSource, getArtifactResolver, getBindingDirectory, getBindingExcludes, getBindingIncludes, getBindings, getCatalog, getCatalogResolver, getCatalogURL, getClasspathElements, getDebug, getDisableDefaultExcludes, getEpisode, getEpisodeFile, getEpisodes, getExtension, getForceRegenerate, getGenerateDirectory, getGeneratePackage, getLocalRepository, getMavenProjectBuilder, getOptionsFactory, getOtherDepends, getPluginArtifacts, getPlugins, getProduces, getProject, getReadOnly, getRemoveOldOutput, getSchemaDirectory, getSchemaExcludes, getSchemaIncludes, getSchemaLanguage, getSchemas, getSpecVersion, getStrict, getVerbose, getWriteCode, logApiConfiguration, setAddCompileSourceRoot, setAddTestCompileSourceRoot, setArgs, setArtifactFactory, setArtifactMetadataSource, setArtifactResolver, setBindingDirectory, setBindingExcludes, setBindingIncludes, setBindings, setCatalog, setCatalogResolver, setClasspathElements, setDebug, setDisableDefaultExcludes, setEpisode, setEpisodeFile, setEpisodes, setExtension, setForceRegenerate, setGenerateDirectory, setGeneratePackage, setLocalRepository, setMavenProjectBuilder, setOtherDepends, setPluginArtifacts, setPlugins, setProduces, setProject, setReadOnly, setRemoveOldOutput, setSchemaDirectory, setSchemaExcludes, setSchemaIncludes, setSchemaLanguage, setSchemas, setSpecVersion, setStrict, setVerbose, setWriteCode
 
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
 

Constructor Detail

RawXJC2Mojo

public RawXJC2Mojo()
Method Detail

getXjcPluginArtifacts

public Collection<org.apache.maven.artifact.Artifact> getXjcPluginArtifacts()

getXjcPluginFiles

public Collection<File> getXjcPluginFiles()

getXjcPluginURLs

public List<URL> getXjcPluginURLs()

getEpisodeArtifacts

public Collection<org.apache.maven.artifact.Artifact> getEpisodeArtifacts()

getEpisodeFiles

public Collection<File> getEpisodeFiles()

getSchemaFiles

public List<File> getSchemaFiles()

getSchemaUrls

protected List<URL> getSchemaUrls()
                           throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

getBindingFiles

public List<File> getBindingFiles()

getDependsFiles

public List<File> getDependsFiles()

getProducesFiles

public List<File> getProducesFiles()

execute

public void execute()
             throws org.apache.maven.plugin.MojoExecutionException
Execute the maven2 mojo to invoke the xjc2 compiler based on any configuration settings.

Throws:
org.apache.maven.plugin.MojoExecutionException

injectDependencyDefaults

protected void injectDependencyDefaults()
************************************************************************* *


injectDependencyDefaults

protected void injectDependencyDefaults(org.apache.maven.model.Dependency[] dependencies)

resolveArtifacts

protected void resolveArtifacts()
                         throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

resolveXJCPluginArtifacts

protected void resolveXJCPluginArtifacts()
                                  throws org.apache.maven.artifact.resolver.ArtifactResolutionException,
                                         org.apache.maven.artifact.resolver.ArtifactNotFoundException,
                                         org.apache.maven.project.artifact.InvalidDependencyVersionException
Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
org.apache.maven.project.artifact.InvalidDependencyVersionException

resolveEpisodeArtifacts

protected void resolveEpisodeArtifacts()
                                throws org.apache.maven.artifact.resolver.ArtifactResolutionException,
                                       org.apache.maven.artifact.resolver.ArtifactNotFoundException,
                                       org.apache.maven.project.artifact.InvalidDependencyVersionException
Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
org.apache.maven.project.artifact.InvalidDependencyVersionException

createClassLoader

protected ClassLoader createClassLoader(ClassLoader parent)
                                 throws org.apache.maven.plugin.MojoExecutionException
Parameters:
parent - the returned classLoader will be a descendant of this one.
Returns:
a context class loader with a classPath containing the project dependencies.
Throws:
org.apache.maven.plugin.MojoExecutionException

doExecute

protected void doExecute()
                  throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

doExecute

public abstract void doExecute(O options)
                        throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

setupLogging

protected void setupLogging()
Initializes logging. If Maven is run in debug mode (that is, debug level is enabled in the log), turn on the verbose mode in Mojo. Further on, if vebose mode is on, set the com.sun.tools.xjc.Options.findServices system property on to enable debuggin of XJC plugins.


setupMavenPaths

protected void setupMavenPaths()
Augments Maven paths with generated resources.


setupDirectories

protected void setupDirectories()

setupFiles

protected void setupFiles()
                   throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

setupSchemaFiles

protected void setupSchemaFiles()
                         throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

setupBindingFiles

protected void setupBindingFiles()
                          throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

setupDependsFiles

protected void setupDependsFiles()

setupProducesFiles

protected void setupProducesFiles()
                           throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

logConfiguration

protected void logConfiguration()
                         throws org.apache.maven.plugin.MojoExecutionException
Log the configuration settings. Shown when exception thrown or when verbose is true.

Overrides:
logConfiguration in class AbstractXJC2Mojo<O>
Throws:
org.apache.maven.plugin.MojoExecutionException

getBindingUrls

protected List<URL> getBindingUrls()
                            throws org.apache.maven.plugin.MojoExecutionException
************************************************************************* *

Throws:
org.apache.maven.plugin.MojoExecutionException

createCatalogResolver

protected org.apache.xml.resolver.tools.CatalogResolver createCatalogResolver()
                                                                       throws org.apache.maven.plugin.MojoExecutionException
Creates an instance of catalog resolver.

Returns:
Throws:
org.apache.maven.plugin.MojoExecutionException

isUpToDate

protected boolean isUpToDate()
                      throws org.apache.maven.plugin.MojoExecutionException
Returns:
true to indicate results are up-to-date, that is, when the latest from input files is earlier than the younger from the output files (meaning no re-execution required).
Throws:
org.apache.maven.plugin.MojoExecutionException

getArguments

protected List<String> getArguments()
                             throws org.apache.maven.plugin.MojoExecutionException
Returns array of command line arguments for XJC. These arguments are based on the configured arguments (see AbstractXJC2Mojo.getArgs()) but also include episode arguments.

Returns:
String array of XJC command line options.
Throws:
org.apache.maven.plugin.MojoExecutionException

createOptionsConfiguration

public OptionsConfiguration createOptionsConfiguration()
                                                throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException


Copyright © 2006-2011. All Rights Reserved.