org.jpox.metadata
Class VersionMetaData

java.lang.Object
  extended byorg.jpox.metadata.MetaData
      extended byorg.jpox.metadata.ExtendableMetaData
          extended byorg.jpox.metadata.VersionMetaData
All Implemented Interfaces:
java.io.Serializable

public class VersionMetaData
extends ExtendableMetaData

Three common strategies for versioning instances are supported by standard metadata. These include state-comparison, timestamp, and version-number. State-comparison involves comparing the values in specific columns to determine if the database row was changed. Timestamp involves comparing the value in a date-time column in the table. The first time in a transaction the row is updated, the timestamp value is updated to the current time. Version-number involves comparing the value in a numeric column in the table. The first time in a transaction the row is updated, the version-number column value is incremented.

MetaData Element

The MetaData element represented here is as follows
 <!ELEMENT version (extension*, column*, index?, extension*)>
 <!ATTLIST version strategy CDATA #IMPLIED>
 <!ATTLIST version column CDATA #IMPLIED>
 <!ATTLIST version indexed (true|false|unique) #IMPLIED>
 

Version:
$Revision: 1.7 $
See Also:
Serialized Form

Field Summary
protected  ColumnMetaData[] columnMetaData
          Contains the metadata for column
protected  java.util.List columns
          Columns ColumnMetaData
protected  IndexedValue indexed
          Indexed value
protected  IndexMetaData indexMetaData
          IndexMetaData.
 
Fields inherited from class org.jpox.metadata.ExtendableMetaData
extensions, JPOX_VENDOR_NAME
 
Fields inherited from class org.jpox.metadata.MetaData
LOCALISER, METADATA_CREATED_STATE, METADATA_INITIALISED_STATE, METADATA_POPULATED_STATE, METADATA_USED_STATE, metaDataState, parent
 
Constructor Summary
VersionMetaData(java.lang.String versionStrategy, java.lang.String column, java.lang.String indexed)
          Constructor.
 
Method Summary
 void addColumn(ColumnMetaData colmd)
          Add a new ColumnMetaData element
 ColumnMetaData[] getColumnMetaData()
          Acessor for the columns
 IndexMetaData getIndexMetaData()
          Accessor for indexMetaData
 VersionStrategy getVersionStrategy()
          Accessor for versionStrategy
 void initialise()
          Initialisation method.
 void setIndexMetaData(IndexMetaData indexMetaData)
          Mutator for the index MetaData
 java.lang.String toString()
          Accessor for a string representation of the object.
 java.lang.String toString(java.lang.String prefix, java.lang.String indent)
          Returns a string representation of the object using a prefix This can be used as part of a facility to output a MetaData file.
 
Methods inherited from class org.jpox.metadata.ExtendableMetaData
addExtension, addExtension, getExtension, getExtensions, getNoOfExtensions, getValueForExtension, getValuesForExtension, getValuesForExtensionStartingWith, hasExtension, removeExtension
 
Methods inherited from class org.jpox.metadata.MetaData
getParent, isCreated, isInitialised, isPopulated, isUsed, populate, setInitialised, setPopulated, setUsed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

columns

protected final java.util.List columns
Columns ColumnMetaData


indexMetaData

protected IndexMetaData indexMetaData
IndexMetaData.


indexed

protected IndexedValue indexed
Indexed value


columnMetaData

protected ColumnMetaData[] columnMetaData
Contains the metadata for column

Constructor Detail

VersionMetaData

public VersionMetaData(java.lang.String versionStrategy,
                       java.lang.String column,
                       java.lang.String indexed)
Constructor.

Parameters:
versionStrategy - Strategy for versioning
column - Column name
indexed - The indexed tag
Method Detail

initialise

public void initialise()
Initialisation method. This should be called AFTER using the populate method if you are going to use populate. It creates the internal convenience arrays etc needed for normal operation.

Overrides:
initialise in class MetaData

getColumnMetaData

public final ColumnMetaData[] getColumnMetaData()
Acessor for the columns

Returns:
Returns the columnMetaData.

getVersionStrategy

public final VersionStrategy getVersionStrategy()
Accessor for versionStrategy

Returns:
Returns the versionStrategy.

getIndexMetaData

public final IndexMetaData getIndexMetaData()
Accessor for indexMetaData

Returns:
Returns the indexMetaData.

addColumn

public void addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData element

Parameters:
colmd - The ColumnMetaData to add

setIndexMetaData

public final void setIndexMetaData(IndexMetaData indexMetaData)
Mutator for the index MetaData

Parameters:
indexMetaData - The indexMetaData to set.

toString

public java.lang.String toString()
Accessor for a string representation of the object.

Overrides:
toString in class ExtendableMetaData
Returns:
a string representation of the object.

toString

public java.lang.String toString(java.lang.String prefix,
                                 java.lang.String indent)
Returns a string representation of the object using a prefix This can be used as part of a facility to output a MetaData file.

Overrides:
toString in class ExtendableMetaData
Parameters:
prefix - prefix string
indent - indent string
Returns:
a string representation of the object.


Copyright © -2007 . All Rights Reserved.