Class 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 java.io.File classes
      Location where persistence-enabled classes are located.
      protected java.util.List<java.lang.String> compileClasspathElements
      List of all class path elements that will be searched for the persistence-enabled classes and resources expected by PCEnhancer.
      protected static java.lang.String OPTION_CONNECTION_DRIVER_NAME
      the string used for passing information about the connectionDriverName
      protected static java.lang.String OPTION_CONNECTION_PROPERTIES
      the string used for passing information about the connectionProperties
      protected static java.lang.String OPTION_PROPERTIES
      The properties option is used for passing information about the persistence.xml classpath resource and the default unit
      protected static java.lang.String OPTION_PROPERTIES_FILE
      the properties option is used for passing information about the persistence.xml file location
      protected org.apache.maven.project.MavenProject project
      The Maven Project Object
      protected java.io.File workDir
      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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected Options createOptions()
      This function will usually get called by getOptions()
      protected void extendRealmClasspath()
      This will prepare the current ClassLoader and add all jars and local classpaths (e.g. target/classes) needed by the OpenJPA task.
      protected java.util.List<java.io.File> findEntityClassFiles()
      Locates and returns a list of class files found under specified class directory.
      protected java.util.List<java.lang.String> getClasspathElements()
      This function retrieves the injected classpath elements for the current mojo.
      protected java.io.File getEntityClasses()
      The File where the class files of the entities to enhance reside
      protected java.lang.String[] getFilePaths​(java.util.List<java.io.File> files)  
      protected abstract Options getOptions()
      Get the options for the various OpenJPA tools.
      protected boolean skipMojo()
      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 Detail

      • workDir

        @Parameter(property="openjpa.workdir",
                   defaultValue="${project.build.directory}/openjpa-work",
                   required=true)
        protected java.io.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 java.io.File classes
        Location where persistence-enabled classes are located.
      • OPTION_CONNECTION_DRIVER_NAME

        protected static final java.lang.String OPTION_CONNECTION_DRIVER_NAME
        the string used for passing information about the connectionDriverName
        See Also:
        Constant Field Values
      • OPTION_CONNECTION_PROPERTIES

        protected static final java.lang.String OPTION_CONNECTION_PROPERTIES
        the string used for passing information about the connectionProperties
        See Also:
        Constant Field Values
      • compileClasspathElements

        @Parameter(defaultValue="${project.compileClasspathElements}",
                   required=true,
                   readonly=true)
        protected java.util.List<java.lang.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 java.lang.String OPTION_PROPERTIES_FILE
        the properties option is used for passing information about the persistence.xml file location
        See Also:
        Constant Field Values
      • OPTION_PROPERTIES

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

      • AbstractOpenJpaMojo

        public AbstractOpenJpaMojo()
        default ct
    • Method Detail

      • getEntityClasses

        protected java.io.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 java.util.List<java.lang.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 java.util.List<java.io.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 java.lang.String[] getFilePaths​(java.util.List<java.io.File> files)
        Parameters:
        files - List of files
        Returns:
        the paths of the given files as String[]