Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.enhance
Class ApplicationIdTool

    java.lang.Object
      org.apache.openjpa.enhance.ApplicationIdTool

    public class ApplicationIdTool

extends Object

Generates a class appropriate for use as an application identity class.

Author:
  Patrick Linskey, Abe White

Nested Class Summary
`static class` | `ApplicationIdTool.Flags` Run flags.
`static interface` | `ApplicationIdTool.ObjectIdLoader` Interface implemented by metadata factories that can load non-existant object id classes.

Field Summary
`static String` | `TOKEN_DEFAULT`

Constructor Summary
`ApplicationIdTool(OpenJPAConfiguration conf, Class type)` Constructs a new ApplicationIdTool capable of generating an object id class for `type`.
`ApplicationIdTool(OpenJPAConfiguration conf, Class type, ClassMetaData meta)` Constructs a new tool instance capable of generating an object id class for `meta`.

Method Summary
`String` | `getCode()` Return the code generated for the application id, or null if invalid class or the `run()` method has not been called.
`CodeFormat` | `getCodeFormat()` The code formatter for the generated Java code.
`File` | `getDirectory()` The directory to write source to.
`boolean` | `getIgnoreErrors()` Return false if this tool is configured to throw an exception on an attempt to generate an id class for a type that does not use application identity.
`Set` | `getImportPackages()` Returns the collection of packages that need to be imported.
`ClassMetaData` | `getMetaData()` Return metadata for the type we are generating an application id for.
`String` | `getToken()` The token to use to separate stringified primary key field values.
`Class` | `getType()` Return the type we are generating an application id for.
`Writer` | `getWriter()` The writer to write source to, or null to write to default file.
`boolean` | `isInnerClass()` Returns true if the application identity class should be an inner class.
`static void` | `main(String[] args)` Usage: java org.apache.openjpa.enhance.ApplicationIdTool [option]* <class name | .java file | .class file | .jdo file>+ Where the following options are recognized.
`void` | `record()` Writes the generated code to the proper file.
`boolean` | `run()` Generates the sourcecode for the application id class; returns false if the class is invalid.
`static boolean` | `run(OpenJPAConfiguration conf, String[] args, ApplicationIdTool.Flags flags, ClassLoader loader)` Run the tool.
`static boolean` | `run(OpenJPAConfiguration conf, String[] args, Options opts)` Run the application id tool with the given command-line and given configuration.
`void` | `setCodeFormat(CodeFormat format)` Set the code formatter for the generated Java code.
`void` | `setDirectory(File dir)` The directory to write source to.
`void` | `setIgnoreErrors(boolean ignore)` Set to false if this tool should throw an exception on an attempt to generate an id class for a type that does not use application identity.
`void` | `setToken(String token)` The token to use to separate stringified primary key field values.
`void` | `setWriter(Writer writer)` The writer to write source to, or null to write to default file.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TOKEN_DEFAULT

    public static final String TOKEN_DEFAULT

See Also:
  Constant Field Values

Constructor Detail

### ApplicationIdTool

    public ApplicationIdTool(OpenJPAConfiguration conf,
                             Class type)

  Constructs a new ApplicationIdTool capable of generating an object id class for `type`.

### ApplicationIdTool

    public ApplicationIdTool(OpenJPAConfiguration conf,
                             Class type,
                             ClassMetaData meta)

  Constructs a new tool instance capable of generating an object id class for `meta`.

Method Detail

### getIgnoreErrors

    public boolean getIgnoreErrors()

  Return false if this tool is configured to throw an exception on an attempt to generate an id class for a type that does not use application identity.

### setIgnoreErrors

    public void setIgnoreErrors(boolean ignore)

  Set to false if this tool should throw an exception on an attempt to generate an id class for a type that does not use application identity.

### getCodeFormat

    public CodeFormat getCodeFormat()

  The code formatter for the generated Java code.

### setCodeFormat

    public void setCodeFormat(CodeFormat format)

  Set the code formatter for the generated Java code.

### getDirectory

    public File getDirectory()

  The directory to write source to. Defaults to the directory of the Java file for the set type. If the given directory does not match the package of the object id, the package structure will be created below the directory.

### setDirectory

    public void setDirectory(File dir)

  The directory to write source to. Defaults to the directory of the Java file for the set type. If the given directory does not match the package of the object id, the package structure will be created below the directory.

### getToken

    public String getToken()

  The token to use to separate stringified primary key field values.

### setToken

    public void setToken(String token)

  The token to use to separate stringified primary key field values.

### getWriter

    public Writer getWriter()

  The writer to write source to, or null to write to default file.

### setWriter

    public void setWriter(Writer writer)

  The writer to write source to, or null to write to default file.

### getType

    public Class getType()

  Return the type we are generating an application id for.

### getMetaData

    public ClassMetaData getMetaData()

  Return metadata for the type we are generating an application id for.

### getCode

    public String getCode()

  Return the code generated for the application id, or null if invalid class or the `run()` method has not been called.

### isInnerClass

    public boolean isInnerClass()

  Returns true if the application identity class should be an inner class.

### run

    public boolean run()

  Generates the sourcecode for the application id class; returns false if the class is invalid.

### record

    public void record()
                throws IOException

  Writes the generated code to the proper file.

  Throws:
    `IOException`

### getImportPackages

    public Set getImportPackages()

  Returns the collection of packages that need to be imported.

### main

    public static void main(String[] args)
                     throws IOException,
                            ClassNotFoundException

  Usage: java org.apache.openjpa.enhance.ApplicationIdTool [option]* <class name | .java file | .class file | .jdo file>+ Where the following options are recognized.
  - -properties/-p <properties file>: The path to a OpenJPA properties file containing information as outlined in `Configuration`; optional.
  - -<property name> <property value>: All bean properties of the standard OpenJPA `OpenJPAConfiguration` can be set by using their names and supplying a value.
  - -directory/-d <output directory>: Path to the base source directory. The package structure will be created beneath this directory if necessary. If not specified, the tool will try to locate the .java file in the CLASSPATH and output to the same directory; failing that, it will use the current directory as the base directory.
  - -ignoreErrors/-i <true/t | false/f>: If false, an exception will be thrown if the tool encounters any class that does not use application identity or uses the identity class of its superclass; defaults to true.
  - -token/-t <token>: The token to use to separate stingified primary key field values in the stringified oid.
  - -name/-n <id class name>: The name of the identity class to generate. If this option is specified, you must only give a single class argument. If the class metadata names an object id class, this argument is ignored.
  - -suffix/-s <id class suffix>: A string to suffix each persistent class with to create the identity class name. This is overridden by `-name` or by any identity class name specified in metadata.
  - -codeFormat/-cf.<property name> < property value> : Arguments like this will be used to configure the bean properties of the internal `CodeFormat`.
  Each additional argument can be either the full class name of the type to create an id class for, the path to the .java file for the type, the path to the .class file for the type, or the path to a .jdo file listing one or more types. If a .java file already exists for an application id, it will be backed up to a file named <orig file name>~.

  Throws:
    `IOException`
    `ClassNotFoundException`

### run

    public static boolean run(OpenJPAConfiguration conf,
                              String[] args,
                              Options opts)
                       throws IOException,
                              ClassNotFoundException

  Run the application id tool with the given command-line and given configuration. Returns false if invalid options were given.

  Throws:
    `IOException`
    `ClassNotFoundException`

### run

    public static boolean run(OpenJPAConfiguration conf,
                              String[] args,
                              ApplicationIdTool.Flags flags,
                              ClassLoader loader)
                       throws IOException,
                              ClassNotFoundException

  Run the tool. Returns false if invalid options were given.

  Throws:
    `IOException`
    `ClassNotFoundException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.