org.apache.openjpa.jdbc.meta
Interface MappingDefaults

All Known Implementing Classes:
MappingDefaultsImpl, NoneMappingDefaults, PersistenceMappingDefaults

public interface MappingDefaults

Generates default names for tables, columns, indexes, constraints, etc.

Author:
Abe White

Method Summary
 boolean defaultMissingInfo()
          Whether to fill in missing mapping information at runtime with the default values supplied by this plugin.
 Object getDiscriminatorValue(Discriminator disc, boolean adapt)
          Return the default discriminator value for the given instance.
 ForeignKey getForeignKey(ValueMapping vm, String name, Table local, Table foreign, boolean inverse)
          Return a default foreign key for the join from this value to its related type, or null for a logical foreign key only.
 Index getIndex(Discriminator disc, Table table, Column[] cols)
          Return a default index for the discriminator, or null if the discriminator columns should not be indexed by default.
 Index getIndex(ValueMapping vm, String name, Table table, Column[] cols)
          Return a default index for the value, or null if the value columns should not be indexed by default.
 Index getIndex(Version vers, Table table, Column[] cols)
          Return a default index for the version, or null if the version columns should not be indexed by default.
 ForeignKey getJoinForeignKey(ClassMapping cls, Table local, Table foreign)
          Return a default foreign key for the join from this class' table to its superclass' table, or null for a logical foreign key only.
 ForeignKey getJoinForeignKey(FieldMapping fm, Table local, Table foreign)
          Return a default foreign key for the join from this field's table to its defining class' table, or null for a logical foreign key only.
 Index getJoinIndex(FieldMapping fm, Table table, Column[] cols)
          Return a default index for the join, or null if the join columns should not be indexed by default.
 Unique getJoinUnique(FieldMapping fm, Table table, Column[] cols)
          Return a default constraint for the join, or null if the join columns should not be constrained by default.
 String getPrimaryKeyName(ClassMapping cm, Table table)
          Return the name of the primary key for the table of the given class, or null for database default.
 Object getStrategy(ClassMapping cls, boolean adapt)
          Default mapping strategy when there is no explicit strategy and no hierarchy strategy given.
 Object getStrategy(Discriminator disc, boolean adapt)
          Default discriminator mapping strategy when there is no explicit strategy.
 Object getStrategy(ValueMapping vm, Class type, boolean adapt)
          Custom handler or strategy for the given field, or null if none has been registered.
 Object getStrategy(Version vers, boolean adapt)
          Default version mapping strategy when there is no explicit strategy.
 String getTableName(ClassMapping cls, Schema defaultSchema)
          Return the default table name for the given class.
 String getTableName(FieldMapping fm, Schema defaultSchema)
          Return the default secondary table name for the given field.
 Unique getUnique(ValueMapping vm, String name, Table table, Column[] cols)
          Return a default constraint for the value, or null if the value columns should not be constrained by default.
 void installPrimaryKey(FieldMapping fm, Table table)
          If desired, install a primary key on the given secondary table.
 void populateColumns(Discriminator disc, Table table, Column[] cols)
          Fill in default information for the given discriminator columns.
 void populateColumns(ValueMapping vm, String name, Table table, Column[] cols)
          Fill in default information for the given value columns.
 void populateColumns(Version vers, Table table, Column[] cols)
          Fill in default information for the given version columns.
 void populateDataStoreIdColumns(ClassMapping cls, Table table, Column[] cols)
          Fill in default information for the given datastore identity columns.
 void populateForeignKeyColumn(ValueMapping vm, String name, Table local, Table foreign, Column col, Object target, boolean inverse, int pos, int cols)
          Fill in default information for the given column used to join a value to its related type.
 void populateJoinColumn(ClassMapping cm, Table local, Table foreign, Column col, Object target, int pos, int cols)
          Fill in default information for the given column used to join a class to its superclass table.
 void populateJoinColumn(FieldMapping fm, Table local, Table foreign, Column col, Object target, int pos, int cols)
          Fill in default information for the given column used to join a field to its defining class' table.
 boolean populateNullIndicatorColumns(ValueMapping vm, String name, Table table, Column[] cols)
          Fill in default information for the given null indicator columns.
 boolean populateOrderColumns(FieldMapping fm, Table table, Column[] cols)
          Fill in default information for the given order columns.
 boolean useClassCriteria()
          The default for whether relations use the related object's expected class as part of the join criteria.
 

Method Detail

defaultMissingInfo

boolean defaultMissingInfo()
Whether to fill in missing mapping information at runtime with the default values supplied by this plugin. A value of false means that all mapping information must be present at runtime.


useClassCriteria

boolean useClassCriteria()
The default for whether relations use the related object's expected class as part of the join criteria.


getStrategy

Object getStrategy(ClassMapping cls,
                   boolean adapt)
Default mapping strategy when there is no explicit strategy and no hierarchy strategy given.

Parameters:
cls - the class; will not be mapped, but superclass and raw MappingInfo will be available
adapt - whether we can adapt the mapping or schema
Returns:
the strategy alias or a strategy instance, or null

getStrategy

Object getStrategy(Version vers,
                   boolean adapt)
Default version mapping strategy when there is no explicit strategy.

Parameters:
vers - the version; will not be mapped, but raw MappingInfo will be available
adapt - whether we can adapt the mapping or schema
Returns:
the strategy alias or a strategy instance, or null

getStrategy

Object getStrategy(Discriminator disc,
                   boolean adapt)
Default discriminator mapping strategy when there is no explicit strategy.

Parameters:
disc - the discriminator; will not be mapped, but raw MappingInfo will be available
adapt - whether we can adapt the mapping or schema
Returns:
the strategy alias or a strategy instance, or null

getStrategy

Object getStrategy(ValueMapping vm,
                   Class type,
                   boolean adapt)
Custom handler or strategy for the given field, or null if none has been registered.

Parameters:
vm - the value mapping; will not be mapped, but raw MappingInfo will be available
type - the value type
adapt - whether we can adapt the mapping or schema
Returns:
the handler/strategy alias or instance, or null

getDiscriminatorValue

Object getDiscriminatorValue(Discriminator disc,
                             boolean adapt)
Return the default discriminator value for the given instance.


getTableName

String getTableName(ClassMapping cls,
                    Schema defaultSchema)
Return the default table name for the given class. This method is only called for classes mapped to their own table.


getTableName

String getTableName(FieldMapping fm,
                    Schema defaultSchema)
Return the default secondary table name for the given field. This method is only called for fields whose strategy requires a secondary table.


populateDataStoreIdColumns

void populateDataStoreIdColumns(ClassMapping cls,
                                Table table,
                                Column[] cols)
Fill in default information for the given datastore identity columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.


populateColumns

void populateColumns(Version vers,
                     Table table,
                     Column[] cols)
Fill in default information for the given version columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.


populateColumns

void populateColumns(Discriminator disc,
                     Table table,
                     Column[] cols)
Fill in default information for the given discriminator columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.


populateJoinColumn

void populateJoinColumn(ClassMapping cm,
                        Table local,
                        Table foreign,
                        Column col,
                        Object target,
                        int pos,
                        int cols)
Fill in default information for the given column used to join a class to its superclass table. The column will be a clone of the target column, or have its name and Java type set in the case of a constant target.

Parameters:
target - the target of this column in the join; may be another column or a constant value
pos - the index of this column in the logical foreign key
cols - the number of columns in the logical foreign key

populateJoinColumn

void populateJoinColumn(FieldMapping fm,
                        Table local,
                        Table foreign,
                        Column col,
                        Object target,
                        int pos,
                        int cols)
Fill in default information for the given column used to join a field to its defining class' table. The column will be a clone of the target column, or have its name and Java type set in the case of a constant target.

Parameters:
target - the target of this column in the join; may be another column or a constant value
pos - the index of this column in the logical foreign key
cols - the number of columns in the logical foreign key

populateForeignKeyColumn

void populateForeignKeyColumn(ValueMapping vm,
                              String name,
                              Table local,
                              Table foreign,
                              Column col,
                              Object target,
                              boolean inverse,
                              int pos,
                              int cols)
Fill in default information for the given column used to join a value to its related type. The column will be a clone of the target column, or have its name and Java type set in the case of a constant target.

Parameters:
name - base name for value, as decided by mapping
target - the target of this column in the join; may be another column or a constant value
inverse - whether this is an inverse foreign key
pos - the index of this column in the logical foreign key
cols - the number of columns in the logical foreign key

populateColumns

void populateColumns(ValueMapping vm,
                     String name,
                     Table table,
                     Column[] cols)
Fill in default information for the given value columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.

Parameters:
name - base name for value, as decided by mapping

populateOrderColumns

boolean populateOrderColumns(FieldMapping fm,
                             Table table,
                             Column[] cols)
Fill in default information for the given order columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.

Returns:
false if the given field should not have order columns by default; fill in default information even when returning false in case the user forces ordering

populateNullIndicatorColumns

boolean populateNullIndicatorColumns(ValueMapping vm,
                                     String name,
                                     Table table,
                                     Column[] cols)
Fill in default information for the given null indicator columns. The columns' name and Java type will already be populated with generic defaults that may be replaced.

Parameters:
name - base name for value, as decided by mapping
Returns:
false if the given value should not have null indicator columns by default; fill in default information even when returning false in case the user forces an indicator

getJoinForeignKey

ForeignKey getJoinForeignKey(ClassMapping cls,
                             Table local,
                             Table foreign)
Return a default foreign key for the join from this class' table to its superclass' table, or null for a logical foreign key only. Do not add columns to the key or add the key to the table; only fill in its information such as name, delete action, etc.


getJoinForeignKey

ForeignKey getJoinForeignKey(FieldMapping fm,
                             Table local,
                             Table foreign)
Return a default foreign key for the join from this field's table to its defining class' table, or null for a logical foreign key only. Do not add columns to the key or add the key to the table; only fill in its information such as name, delete action, etc.


getForeignKey

ForeignKey getForeignKey(ValueMapping vm,
                         String name,
                         Table local,
                         Table foreign,
                         boolean inverse)
Return a default foreign key for the join from this value to its related type, or null for a logical foreign key only. Do not add columns to the key or add the key to the table; only fill in its information such as name, delete action, etc.

Parameters:
name - base name for value, as decided by mapping
inverse - whether this is an inverse key

getJoinIndex

Index getJoinIndex(FieldMapping fm,
                   Table table,
                   Column[] cols)
Return a default index for the join, or null if the join columns should not be indexed by default. Do not add columns to the index or add the index to the table; only fill in its information such as name, uniqueness, etc.


getIndex

Index getIndex(ValueMapping vm,
               String name,
               Table table,
               Column[] cols)
Return a default index for the value, or null if the value columns should not be indexed by default. Do not add columns to the index or add the index to the table; only fill in its information such as name, uniqueness, etc.

Parameters:
name - base name for value, as decided by mapping

getIndex

Index getIndex(Version vers,
               Table table,
               Column[] cols)
Return a default index for the version, or null if the version columns should not be indexed by default. Do not add columns to the index or add the index to the table; only fill in its information such as name, uniqueness, etc.


getIndex

Index getIndex(Discriminator disc,
               Table table,
               Column[] cols)
Return a default index for the discriminator, or null if the discriminator columns should not be indexed by default. Do not add columns to the index or add the index to the table; only fill in its information such as name, uniqueness, etc.


getJoinUnique

Unique getJoinUnique(FieldMapping fm,
                     Table table,
                     Column[] cols)
Return a default constraint for the join, or null if the join columns should not be constrained by default. Do not add columns to the constraint or add the constraint to the table; only fill in its information such as name, deferrability, etc.


getUnique

Unique getUnique(ValueMapping vm,
                 String name,
                 Table table,
                 Column[] cols)
Return a default constraint for the value, or null if the value columns should not be constrained by default. Do not add columns to the constraint or add the constraint to the table; only fill in its information such as name, deferrability, etc.

Parameters:
name - base name for value, as decided by mapping

getPrimaryKeyName

String getPrimaryKeyName(ClassMapping cm,
                         Table table)
Return the name of the primary key for the table of the given class, or null for database default.


installPrimaryKey

void installPrimaryKey(FieldMapping fm,
                       Table table)
If desired, install a primary key on the given secondary table.



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