org.apache.openjpa.jdbc.meta
Interface VersionStrategy

All Superinterfaces:
Serializable, Strategy
All Known Implementing Classes:
AbstractVersionStrategy, ColumnVersionStrategy, MultiColumnVersionStrategy, NanoPrecisionTimestampVersionStrategy, NoneVersionStrategy, NumberVersionStrategy, StateComparisonVersionStrategy, SuperclassVersionStrategy, TimestampVersionStrategy, Version

public interface VersionStrategy
extends Strategy

Handles optimistic lock versioning for a class.

Author:
Abe White

Method Summary
 void afterLoad(OpenJPAStateManager sm, JDBCStore store)
          This method is called after data is loaded into the instance, in case the version indicator works off of a state image.
 boolean checkVersion(OpenJPAStateManager sm, JDBCStore store, boolean updateVersion)
          Checks the version of the given state manager with the version stored in memory.
 int compareVersion(Object v1, Object v2)
           
 Map<Column,? extends Object> getBulkUpdateValues()
           
 Object load(OpenJPAStateManager sm, JDBCStore store, Result res)
          Load data.
 boolean select(Select sel, ClassMapping mapping)
          Select the data for this indicator.
 void setVersion(Version owner)
          Set the version that uses this strategy.
 
Methods inherited from interface org.apache.openjpa.jdbc.meta.Strategy
customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, update
 

Method Detail

setVersion

void setVersion(Version owner)
Set the version that uses this strategy. This will be called before use.


select

boolean select(Select sel,
               ClassMapping mapping)
Select the data for this indicator.

Parameters:
mapping - the known base class being selected; this may not be the base class in the inheritance hierarchy
Returns:
true if anything was selected; false otherwise

load

Object load(OpenJPAStateManager sm,
            JDBCStore store,
            Result res)
            throws SQLException
Load data.

Throws:
SQLException

afterLoad

void afterLoad(OpenJPAStateManager sm,
               JDBCStore store)
This method is called after data is loaded into the instance, in case the version indicator works off of a state image.


checkVersion

boolean checkVersion(OpenJPAStateManager sm,
                     JDBCStore store,
                     boolean updateVersion)
                     throws SQLException
Checks the version of the given state manager with the version stored in memory.

Returns:
true if the in-memory version was up-to-date, false otherwise
Throws:
SQLException

compareVersion

int compareVersion(Object v1,
                   Object v2)
See Also:
StoreManager.compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)

getBulkUpdateValues

Map<Column,? extends Object> getBulkUpdateValues()
Returns:
a Map specifying how to update each version column during a bulk update.
Since:
1.0.0


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