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.jdbc.meta
Interface ReverseCustomizer

All Superinterfaces:
  Closeable

All Known Implementing Classes:
  PropertiesReverseCustomizer

    public interface ReverseCustomizer

extends Closeable

Plugin in interface to customize the output of the `ReverseMappingTool`.

Author:
  Abe White

Method Summary
`void` | `close()` Invoked when the customizer is no longer needed.
`void` | `customize(ClassMapping cls)` Customize the given class information produced by the reverse mapping tool.
`void` | `customize(FieldMapping field)` Customize the given field information produced by the reverse mapping tool.
`String` | `getClassCode(ClassMapping mapping)` Return a code template for the given class, or null to use the standard system-generated Java code.
`String` | `getClassName(Table table, String defaultName)` Return the fully-qualified class name to generate for the given table.
`String` | `getDeclaration(FieldMapping field)` Return a code template for the declaration of the given field, or null to use the system-generated default Java code.
`String` | `getFieldCode(FieldMapping field)` Return a code template for the get/set methods of the given field, or null to use the system-generated default Java code.
`String` | `getFieldName(ClassMapping dec, Column[] cols, ForeignKey fk, String defaultName)` Return the field name used to map the given columns, or null to prevent the columns from being mapped.
`String` | `getInitialValue(FieldMapping field)` Return code for the initial value for the given field, or null to use the default generated by the system.
`int` | `getTableType(Table table, int defaultType)` Return the type of the given table, or the given default type.
`void` | `setConfiguration(Properties props)` Set configuration properties given by the user.
`void` | `setTool(ReverseMappingTool tool)` Set the reverse mapping tool using this customizer.
`boolean` | `unmappedTable(Table table)` Notification that a table has gone unmapped.

Method Detail

### setConfiguration

    void setConfiguration(Properties props)

  Set configuration properties given by the user.

### setTool

    void setTool(ReverseMappingTool tool)

  Set the reverse mapping tool using this customizer. You can use the tool to see how it is configured, or to use utility methods the tool provides.

### getTableType

    int getTableType(Table table,
                     int defaultType)

  Return the type of the given table, or the given default type. See the TABLE_XXX constants in `ReverseMappingTool`.

### getClassName

    String getClassName(Table table,
                        String defaultName)

  Return the fully-qualified class name to generate for the given table. Return null to prevent the table from being mapped. Return the given default name if it is acceptable.

### customize

    void customize(ClassMapping cls)

  Customize the given class information produced by the reverse mapping tool. To change the application identity class, use `ReverseMappingTool.generateClass(java.lang.String, java.lang.Class)` to creat the new class object. The class will not have any fields at the time of this call.

### getClassCode

    String getClassCode(ClassMapping mapping)

  Return a code template for the given class, or null to use the standard system-generated Java code. To facilitate template reuse, the following parameters can appear in your template; the proper values will be subtituted by the system:
  - ${packageDec}: The package declaration, in the form "package <package name >;", or empty string if no package.
  - ${imports}: Imports for the packages used by the declared field types.
  - ${className}: The name of the class, without package.
  - ${extendsDec}: Extends declaration, in the form "extends <superclass>", or empty string if no superclass.
  - ${constructor}: A constructor that takes in all primary key fields of the class, or empty string if the class uses datastore identity.
  - ${fieldDecs}: Declarations of all the generated fields.
  - ${fieldCode}: Get/set methods for all the generated fields.

### getFieldName

    String getFieldName(ClassMapping dec,
                        Column[] cols,
                        ForeignKey fk,
                        String defaultName)

  Return the field name used to map the given columns, or null to prevent the columns from being mapped. Return the given default if it is acceptable.

  Parameters:
    `dec` - the class that will declare this field
    `cols` - the column(s) this field will represent
    `fk` - for relation fields, the foreign key to the related type

### customize

    void customize(FieldMapping field)

  Customize the given field information produced by the reverse mapping tool.

### getInitialValue

    String getInitialValue(FieldMapping field)

  Return code for the initial value for the given field, or null to use the default generated by the system.

### getDeclaration

    String getDeclaration(FieldMapping field)

  Return a code template for the declaration of the given field, or null to use the system-generated default Java code. To facilitate template reuse, the following parameters can appear in your template; the proper values will be subtituted by the system:
  - ${fieldName}: The name of the field.
  - ${capFieldName}: The capitalized field name.
  - ${propertyName}: The field name without leading '_', if any.
  - ${fieldType}: The field's type name.
  - ${fieldValue}: The field's initial value, in the form " = <value>", or empty string if none.

### getFieldCode

    String getFieldCode(FieldMapping field)

  Return a code template for the get/set methods of the given field, or null to use the system-generated default Java code. To facilitate template reuse, the following parameters can appear in your template; the proper values will be subtituted by the system:
  - ${fieldName}: The name of the field.
  - ${capFieldName}: The capitalized field name.
  - ${propertyName}: The field name without leading '_', if any.
  - ${fieldType}: The field's type name.
  - ${fieldValue}: The field's initial value, in the form "= <value>", or empty string if none.

### unmappedTable

    boolean unmappedTable(Table table)

  Notification that a table has gone unmapped. You can map the table yourself using this method. When mapping, use `ReverseMappingTool.generateClass(java.lang.String, java.lang.Class)` to create the class, `ReverseMappingTool.newClassMapping(java.lang.Class, org.apache.openjpa.jdbc.schema.Table)` to create the class metadata, and then `ClassMapping.addDeclaredFieldMapping(java.lang.String, java.lang.Class)` to add field metadata.

  Returns:
    true if you map the table, false otherwise

### close

    void close()

  Invoked when the customizer is no longer needed.

  Specified by:
    `close` in interface `Closeable`

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.