Class AbstractOpenJpaMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.openjpa.tools.maven.AbstractOpenJpaMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
AbstractOpenJpaEnhancerMojo, AbstractOpenJpaMappingToolMojo

public abstract class AbstractOpenJpaMojo extends org.apache.maven.plugin.AbstractMojo
Base class for OpenJPA maven tasks.
Version:
$Id$
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected File
    Location where persistence-enabled classes are located.
    protected List<String>
    List of all class path elements that will be searched for the persistence-enabled classes and resources expected by PCEnhancer.
    protected static final String
    the string used for passing information about the connectionDriverName
    protected static final String
    the string used for passing information about the connectionProperties
    protected static final String
    The properties option is used for passing information about the persistence.xml classpath resource and the default unit
    protected static final String
    the properties option is used for passing information about the persistence.xml file location
    protected org.apache.maven.project.MavenProject
    The Maven Project Object
    protected File
    The working directory for putting persistence.xml and other stuff into if we need to.

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
    default ct
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Options
    This function will usually get called by getOptions()
    protected void
    This will prepare the current ClassLoader and add all jars and local classpaths (e.g. target/classes) needed by the OpenJPA task.
    protected List<File>
    Locates and returns a list of class files found under specified class directory.
    protected List<String>
    This function retrieves the injected classpath elements for the current mojo.
    protected File
    The File where the class files of the entities to enhance reside
    protected String[]
     
    protected abstract Options
    Get the options for the various OpenJPA tools.
    protected boolean
    Determine if the mojo execution should get skipped.

    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

    Methods inherited from interface org.apache.maven.plugin.Mojo

    execute
  • Field Details

    • workDir

      @Parameter(property="openjpa.workdir", defaultValue="${project.build.directory}/openjpa-work", required=true) protected File workDir
      The working directory for putting persistence.xml and other stuff into if we need to.
    • classes

      @Parameter(property="openjpa.classes", defaultValue="${project.build.outputDirectory}", required=true) protected File classes
      Location where persistence-enabled classes are located.
    • OPTION_CONNECTION_DRIVER_NAME

      protected static final String OPTION_CONNECTION_DRIVER_NAME
      the string used for passing information about the connectionDriverName
      See Also:
    • OPTION_CONNECTION_PROPERTIES

      protected static final String OPTION_CONNECTION_PROPERTIES
      the string used for passing information about the connectionProperties
      See Also:
    • compileClasspathElements

      @Parameter(defaultValue="${project.compileClasspathElements}", required=true, readonly=true) protected List<String> compileClasspathElements
      List of all class path elements that will be searched for the persistence-enabled classes and resources expected by PCEnhancer.
    • project

      @Parameter(defaultValue="${project}", required=true, readonly=true) protected org.apache.maven.project.MavenProject project
      The Maven Project Object
    • OPTION_PROPERTIES_FILE

      protected static final String OPTION_PROPERTIES_FILE
      the properties option is used for passing information about the persistence.xml file location
      See Also:
    • OPTION_PROPERTIES

      protected static final String OPTION_PROPERTIES
      The properties option is used for passing information about the persistence.xml classpath resource and the default unit
      See Also:
  • Constructor Details

    • AbstractOpenJpaMojo

      public AbstractOpenJpaMojo()
      default ct
  • Method Details

    • getEntityClasses

      protected File getEntityClasses()
      The File where the class files of the entities to enhance reside
      Returns:
      normaly the entity classes are located in target/classes
    • getClasspathElements

      protected List<String> getClasspathElements()
      This function retrieves the injected classpath elements for the current mojo.
      Returns:
      List of classpath elements for the compile phase
    • getOptions

      protected abstract Options getOptions() throws org.apache.maven.plugin.MojoExecutionException
      Get the options for the various OpenJPA tools.
      Returns:
      populated Options
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • skipMojo

      protected boolean skipMojo()

      Determine if the mojo execution should get skipped.

      This is the case if:
      • skip is true
      • if the mojo gets executed on a project with packaging type 'pom' and forceMojoExecution is false
      Returns:
      true if the mojo execution should be skipped.
    • createOptions

      protected Options createOptions() throws org.apache.maven.plugin.MojoExecutionException
      This function will usually get called by getOptions()
      Returns:
      the Options filled with the initial values
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • extendRealmClasspath

      protected void extendRealmClasspath() throws org.apache.maven.plugin.MojoExecutionException
      This will prepare the current ClassLoader and add all jars and local classpaths (e.g. target/classes) needed by the OpenJPA task.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - on any error inside the mojo
    • findEntityClassFiles

      protected List<File> findEntityClassFiles() throws org.apache.maven.plugin.MojoExecutionException
      Locates and returns a list of class files found under specified class directory.
      Returns:
      list of class files.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - if there was an error scanning class file resources.
    • getFilePaths

      protected String[] getFilePaths(List<File> files)
      Parameters:
      files - List of files
      Returns:
      the paths of the given files as String[]