com.healthmarketscience.jackcess.impl.complex
Class VersionHistoryColumnInfoImpl

java.lang.Object
  extended by com.healthmarketscience.jackcess.impl.complex.ComplexColumnInfoImpl<Version>
      extended by com.healthmarketscience.jackcess.impl.complex.VersionHistoryColumnInfoImpl
All Implemented Interfaces:
ComplexColumnInfo<Version>, VersionHistoryColumnInfo

public class VersionHistoryColumnInfoImpl
extends ComplexColumnInfoImpl<Version>
implements VersionHistoryColumnInfo

Complex column info for a column which tracking the version history of an "append only" memo column.

Note, the strongly typed update/delete methods are not supported for version history columns (the data is supposed to be immutable). That said, the "raw" update/delete methods are supported for those that really want to muck with the version history data.

Author:
James Ahlborn

Nested Class Summary
 
Nested classes/interfaces inherited from class com.healthmarketscience.jackcess.impl.complex.ComplexColumnInfoImpl
ComplexColumnInfoImpl.ComplexValueImpl
 
Field Summary
 
Fields inherited from class com.healthmarketscience.jackcess.impl.complex.ComplexColumnInfoImpl
INVALID_FK, INVALID_ID
 
Constructor Summary
VersionHistoryColumnInfoImpl(Column column, int complexId, Table typeObjTable, Table flatTable)
           
 
Method Summary
protected  Object[] asRow(Object[] row, Version version)
           
 void deleteAllValues(int complexValueFk)
           
 void deleteValue(Version value)
           
 Column getModifiedDateColumn()
           
 ComplexDataType getType()
           
 Column getValueColumn()
           
static Version newVersion(ComplexValueForeignKey complexValueFk, String value, Date modifiedDate)
           
static Version newVersion(String value, Date modifiedDate)
           
 void postTableLoadInit()
           
protected  com.healthmarketscience.jackcess.impl.complex.VersionHistoryColumnInfoImpl.VersionImpl toValue(ComplexValueForeignKey complexValueFk, Row rawValue)
           
protected  List<Version> toValues(ComplexValueForeignKey complexValueFk, List<Row> rawValues)
           
 ComplexValue.Id updateValue(Version value)
           
 
Methods inherited from class com.healthmarketscience.jackcess.impl.complex.ComplexColumnInfoImpl
addRawValue, addValue, addValues, countValues, deleteAllValues, deleteRawValue, deleteValues, diffFlatColumns, getColumn, getComplexValueForeignKeyColumn, getDatabase, getPrimaryKeyColumn, getRawValues, getRawValues, getTypeColumns, getValueId, getValueId, getValues, toString, updateRawValue, updateValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.healthmarketscience.jackcess.complex.ComplexColumnInfo
addRawValue, addValue, addValues, countValues, deleteAllValues, deleteRawValue, deleteValues, getRawValues, getRawValues, getValues, updateRawValue, updateValues
 

Constructor Detail

VersionHistoryColumnInfoImpl

public VersionHistoryColumnInfoImpl(Column column,
                                    int complexId,
                                    Table typeObjTable,
                                    Table flatTable)
                             throws IOException
Throws:
IOException
Method Detail

postTableLoadInit

public void postTableLoadInit()
                       throws IOException
Overrides:
postTableLoadInit in class ComplexColumnInfoImpl<Version>
Throws:
IOException

getValueColumn

public Column getValueColumn()

getModifiedDateColumn

public Column getModifiedDateColumn()

getType

public ComplexDataType getType()
Specified by:
getType in interface ComplexColumnInfo<Version>
Specified by:
getType in class ComplexColumnInfoImpl<Version>

updateValue

public ComplexValue.Id updateValue(Version value)
                            throws IOException
Specified by:
updateValue in interface ComplexColumnInfo<Version>
Overrides:
updateValue in class ComplexColumnInfoImpl<Version>
Throws:
IOException

deleteValue

public void deleteValue(Version value)
                 throws IOException
Specified by:
deleteValue in interface ComplexColumnInfo<Version>
Overrides:
deleteValue in class ComplexColumnInfoImpl<Version>
Throws:
IOException

deleteAllValues

public void deleteAllValues(int complexValueFk)
                     throws IOException
Specified by:
deleteAllValues in interface ComplexColumnInfo<Version>
Overrides:
deleteAllValues in class ComplexColumnInfoImpl<Version>
Throws:
IOException

toValues

protected List<Version> toValues(ComplexValueForeignKey complexValueFk,
                                 List<Row> rawValues)
                          throws IOException
Overrides:
toValues in class ComplexColumnInfoImpl<Version>
Throws:
IOException

toValue

protected com.healthmarketscience.jackcess.impl.complex.VersionHistoryColumnInfoImpl.VersionImpl toValue(ComplexValueForeignKey complexValueFk,
                                                                                                         Row rawValue)
Specified by:
toValue in class ComplexColumnInfoImpl<Version>

asRow

protected Object[] asRow(Object[] row,
                         Version version)
                  throws IOException
Overrides:
asRow in class ComplexColumnInfoImpl<Version>
Throws:
IOException

newVersion

public static Version newVersion(String value,
                                 Date modifiedDate)

newVersion

public static Version newVersion(ComplexValueForeignKey complexValueFk,
                                 String value,
                                 Date modifiedDate)


Copyright © 2005-2017 Health Market Science. All Rights Reserved.