SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

kodo.jdbc.meta
Class ColumnVersionIndicator

java.lang.Object
  |
  +--kodo.jdbc.meta.Indicator
        |
        +--kodo.jdbc.meta.VersionIndicator
              |
              +--kodo.jdbc.meta.ColumnVersionIndicator
All Implemented Interfaces:
Mapping
Direct Known Subclasses:
DateVersionIndicator, NumberVersionIndicator

public abstract class ColumnVersionIndicator
extends VersionIndicator

Abstract base class for version indicators that use a column to hold version information.


Constructor Summary
ColumnVersionIndicator()
           
 
Method Summary
 void addMappingInfoAttributes(Collection attrs)
          Add all mapping attributes names used by this mapping to the given collection.
 int compareVersion(Object v1, Object v2)
          We expect version objects that subclasses use will implement Comparable; simply use that mechanism for performing comparison.
 void delete(KodoStateManager sm, RowManager rm)
          Set the where values appropriately to delete the proper instance, and set all relations on non-secondary tables as updates.
 void fromMappingInfo(MappingInfo info, boolean adapt)
          The default implementation will raise warnings for any mapping attributes that are declared but not in the list of the valid attributes for this mapping.
 Column getColumn()
          Deprecated. use getColumns() instead.
 Column[] getColumns()
          Return the columns used to hold version info.
protected abstract  int getDataStoreTypeCode()
          Return the FieldMapping type code for the type of the column.
protected  int getJDBCType()
          Return the JDBC type of the column for this indicator.
protected abstract  Object getNextVersion(Object currentVersion)
          Return the next version object, given the current one (which may be null for newly-persisted objects).
 void insert(KodoStateManager sm, RowManager rm)
          Set values for the mapping into the proper rows.
 void load(KodoStateManager sm, JDBCStoreManager store, Result res)
          Load virtual row data.
 boolean map()
          Map a new instance of this mapping type.
protected abstract  boolean needsRefresh(Object mem, Object db)
          Return true if mem is not up-to-date with db.
 boolean select(Select sel, ClassMapping mapping)
          Select the virtual row columns of this mapping.
 void setColumn(Column col)
          Set the column used to hold version info.
 boolean synchVersion(KodoStateManager sm, JDBCStoreManager store)
          Synchronize the version of the given state manager with the version stored in memory.
 void toMappingInfo(MappingInfo info)
          Serialize this mapping to a simple MappingInfo instance for transfer to XML or some other format.
 void update(KodoStateManager sm, RowManager rm)
          Set values for the mapping into the proper rows.
 
Methods inherited from class kodo.jdbc.meta.VersionIndicator
getDefaults, newInstance, postLoad, toString
 
Methods inherited from class kodo.jdbc.meta.Indicator
delete, getDBDictionary, getMappingRepository, getOwnerMapping, getTable, insert, isCustomDelete, isCustomInsert, isCustomUpdate, refSchemaComponents, reverseMap, setOwnerMapping, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface kodo.jdbc.meta.Mapping
getMappingType
 

Constructor Detail

ColumnVersionIndicator

public ColumnVersionIndicator()
Method Detail

getDataStoreTypeCode

protected abstract int getDataStoreTypeCode()
Return the FieldMapping type code for the type of the column.

getJDBCType

protected int getJDBCType()
Return the JDBC type of the column for this indicator. Defaults to the preferred type for getDataStoreTypeCode().

getNextVersion

protected abstract Object getNextVersion(Object currentVersion)
Return the next version object, given the current one (which may be null for newly-persisted objects).

needsRefresh

protected abstract boolean needsRefresh(Object mem,
                                        Object db)
Return true if mem is not up-to-date with db.

compareVersion

public int compareVersion(Object v1,
                          Object v2)
We expect version objects that subclasses use will implement Comparable; simply use that mechanism for performing comparison.
Overrides:
compareVersion in class VersionIndicator
Following copied from class: kodo.jdbc.meta.VersionIndicator
See Also:
StoreManager.compareVersion(kodo.runtime.KodoStateManager, java.lang.Object, java.lang.Object)

getColumn

public Column getColumn()
Deprecated. use getColumns() instead.

Return the column used to hold version info.

getColumns

public Column[] getColumns()
Return the columns used to hold version info. The first element in the version column array is the default column, if any.
Overrides:
getColumns in class Indicator

setColumn

public void setColumn(Column col)
Set the column used to hold version info. This is only for use by the Kodo2 migration framework.

toMappingInfo

public void toMappingInfo(MappingInfo info)
Description copied from interface: Mapping
Serialize this mapping to a simple MappingInfo instance for transfer to XML or some other format.

fromMappingInfo

public void fromMappingInfo(MappingInfo info,
                            boolean adapt)
Description copied from class: Indicator
The default implementation will raise warnings for any mapping attributes that are declared but not in the list of the valid attributes for this mapping.
Overrides:
fromMappingInfo in class Indicator
Following copied from class: kodo.jdbc.meta.Indicator
See Also:
Indicator.addMappingInfoAttributes(java.util.Collection)

addMappingInfoAttributes

public void addMappingInfoAttributes(Collection attrs)
Description copied from interface: Mapping
Add all mapping attributes names used by this mapping to the given collection. For foreign key attributes, add the prefix.
Overrides:
addMappingInfoAttributes in class Indicator

map

public boolean map()
Description copied from interface: Mapping
Map a new instance of this mapping type. If the underlying metadata cannot be mapped using this type, return false.

synchVersion

public boolean synchVersion(KodoStateManager sm,
                            JDBCStoreManager store)
                     throws SQLException
Description copied from class: VersionIndicator
Synchronize the version of the given state manager with the version stored in memory.
Overrides:
synchVersion in class VersionIndicator
Following copied from class: kodo.jdbc.meta.VersionIndicator
See Also:
StoreManager.synchVersion(kodo.runtime.KodoStateManager, java.lang.Object)

select

public boolean select(Select sel,
                      ClassMapping mapping)
Description copied from class: Indicator
Select the virtual row columns of this mapping. Returns false by default.
Overrides:
select in class Indicator
Following copied from class: kodo.jdbc.meta.Indicator
Parameters:
mapping - the known base class being selected
Returns:
true if anything was selected; false otherwise

load

public void load(KodoStateManager sm,
                 JDBCStoreManager store,
                 Result res)
          throws SQLException
Description copied from class: VersionIndicator
Load virtual row data.
Overrides:
load in class VersionIndicator

insert

public void insert(KodoStateManager sm,
                   RowManager rm)
            throws SQLException
Description copied from interface: Mapping
Set values for the mapping into the proper rows. For class mappings, this method will be called only after the corresponding method has been called for all fields of this mapping.
Overrides:
insert in class Indicator

update

public void update(KodoStateManager sm,
                   RowManager rm)
            throws SQLException
Description copied from interface: Mapping
Set values for the mapping into the proper rows.
Overrides:
update in class Indicator
Following copied from interface: kodo.jdbc.meta.Mapping
See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)

delete

public void delete(KodoStateManager sm,
                   RowManager rm)
            throws SQLException
Description copied from interface: Mapping
Set the where values appropriately to delete the proper instance, and set all relations on non-secondary tables as updates. This allows foreign key analysis.
Overrides:
delete in class Indicator
Following copied from interface: kodo.jdbc.meta.Mapping
See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)

SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.