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 Detail

      • 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:
        Constant Field Values
      • OPTION_CONNECTION_PROPERTIES

        protected static final 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 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:
        Constant Field Values
      • 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:
        Constant Field Values
    • Constructor Detail

      • AbstractOpenJpaMojo

        public AbstractOpenJpaMojo()
        default ct
    • Method Detail

      • 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[]