public abstract class ComplexColumnInfoImpl<V extends ComplexValue> extends java.lang.Object implements ComplexColumnInfo<V>
| Modifier and Type | Class and Description |
|---|---|
private static class |
ComplexColumnInfoImpl.ComplexValueIdImpl
Implementation of ComplexValue.Id.
|
protected static class |
ComplexColumnInfoImpl.ComplexValueImpl |
| Modifier and Type | Field and Description |
|---|---|
private Column |
_column |
private int |
_complexTypeId |
private Column |
_complexValFkCol |
private IndexCursor |
_complexValIdCursor |
private Table |
_flatTable |
private Column |
_pkCol |
private java.util.List<Column> |
_typeCols |
static ComplexValueForeignKey |
INVALID_FK |
static ComplexValue.Id |
INVALID_ID |
private static int |
INVALID_ID_VALUE |
| Modifier | Constructor and Description |
|---|---|
protected |
ComplexColumnInfoImpl(Column column,
int complexTypeId,
Table typeObjTable,
Table flatTable) |
| Modifier and Type | Method and Description |
|---|---|
ComplexValue.Id |
addRawValue(java.util.Map<java.lang.String,?> rawValue) |
ComplexValue.Id |
addValue(V value) |
void |
addValues(java.util.Collection<? extends V> values) |
protected java.lang.Object[] |
asRow(java.lang.Object[] row,
V value) |
int |
countValues(int complexValueFk) |
void |
deleteAllValues(ComplexValueForeignKey complexValueFk) |
void |
deleteAllValues(int complexValueFk) |
void |
deleteRawValue(Row rawValue) |
private void |
deleteRow(RowId rowId) |
void |
deleteValue(V value) |
void |
deleteValues(java.util.Collection<? extends V> values) |
protected static void |
diffFlatColumns(Table typeObjTable,
Table flatTable,
java.util.List<Column> typeCols,
java.util.List<Column> otherCols) |
Column |
getColumn() |
private java.util.Iterator<Row> |
getComplexValFkIter(int complexValueFk,
java.util.Collection<java.lang.String> columnNames) |
Column |
getComplexValueForeignKeyColumn() |
Database |
getDatabase() |
Column |
getPrimaryKeyColumn() |
java.util.List<Row> |
getRawValues(int complexValueFk) |
java.util.List<Row> |
getRawValues(int complexValueFk,
java.util.Collection<java.lang.String> columnNames) |
abstract ComplexDataType |
getType() |
protected java.util.List<Column> |
getTypeColumns() |
protected ComplexColumnInfoImpl.ComplexValueIdImpl |
getValueId(java.lang.Object[] row) |
protected ComplexColumnInfoImpl.ComplexValueIdImpl |
getValueId(Row row) |
java.util.List<V> |
getValues(ComplexValueForeignKey complexValueFk) |
private java.lang.Object[] |
newRowArray() |
void |
postTableLoadInit() |
java.lang.String |
toString() |
protected abstract V |
toValue(ComplexValueForeignKey complexValueFk,
Row rawValues) |
protected java.util.List<V> |
toValues(ComplexValueForeignKey complexValueFk,
java.util.List<Row> rawValues) |
ComplexValue.Id |
updateRawValue(Row rawValue) |
private void |
updateRow(ComplexValue.Id id,
java.lang.Object[] row) |
ComplexValue.Id |
updateValue(V value) |
void |
updateValues(java.util.Collection<? extends V> values) |
private static final int INVALID_ID_VALUE
public static final ComplexValue.Id INVALID_ID
public static final ComplexValueForeignKey INVALID_FK
private final Column _column
private final int _complexTypeId
private final Table _flatTable
private final java.util.List<Column> _typeCols
private final Column _pkCol
private final Column _complexValFkCol
private IndexCursor _complexValIdCursor
public void postTableLoadInit()
throws java.io.IOException
java.io.IOExceptionpublic Column getColumn()
public Database getDatabase()
public Column getPrimaryKeyColumn()
public Column getComplexValueForeignKeyColumn()
protected java.util.List<Column> getTypeColumns()
public int countValues(int complexValueFk)
throws java.io.IOException
countValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic java.util.List<Row> getRawValues(int complexValueFk) throws java.io.IOException
getRawValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionprivate java.util.Iterator<Row> getComplexValFkIter(int complexValueFk, java.util.Collection<java.lang.String> columnNames) throws java.io.IOException
java.io.IOExceptionpublic java.util.List<Row> getRawValues(int complexValueFk, java.util.Collection<java.lang.String> columnNames) throws java.io.IOException
getRawValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic java.util.List<V> getValues(ComplexValueForeignKey complexValueFk) throws java.io.IOException
getValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionprotected java.util.List<V> toValues(ComplexValueForeignKey complexValueFk, java.util.List<Row> rawValues) throws java.io.IOException
java.io.IOExceptionpublic ComplexValue.Id addRawValue(java.util.Map<java.lang.String,?> rawValue) throws java.io.IOException
addRawValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic ComplexValue.Id addValue(V value) throws java.io.IOException
addValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void addValues(java.util.Collection<? extends V> values) throws java.io.IOException
addValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic ComplexValue.Id updateRawValue(Row rawValue) throws java.io.IOException
updateRawValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic ComplexValue.Id updateValue(V value) throws java.io.IOException
updateValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void updateValues(java.util.Collection<? extends V> values) throws java.io.IOException
updateValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void deleteRawValue(Row rawValue) throws java.io.IOException
deleteRawValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void deleteValue(V value) throws java.io.IOException
deleteValue in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void deleteValues(java.util.Collection<? extends V> values) throws java.io.IOException
deleteValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void deleteAllValues(int complexValueFk)
throws java.io.IOException
deleteAllValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionpublic void deleteAllValues(ComplexValueForeignKey complexValueFk) throws java.io.IOException
deleteAllValues in interface ComplexColumnInfo<V extends ComplexValue>java.io.IOExceptionprivate void updateRow(ComplexValue.Id id, java.lang.Object[] row) throws java.io.IOException
java.io.IOExceptionprivate void deleteRow(RowId rowId) throws java.io.IOException
java.io.IOExceptionprotected ComplexColumnInfoImpl.ComplexValueIdImpl getValueId(Row row)
protected ComplexColumnInfoImpl.ComplexValueIdImpl getValueId(java.lang.Object[] row)
protected java.lang.Object[] asRow(java.lang.Object[] row,
V value)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object[] newRowArray()
public java.lang.String toString()
toString in class java.lang.Objectprotected static void diffFlatColumns(Table typeObjTable, Table flatTable, java.util.List<Column> typeCols, java.util.List<Column> otherCols)
public abstract ComplexDataType getType()
getType in interface ComplexColumnInfo<V extends ComplexValue>protected abstract V toValue(ComplexValueForeignKey complexValueFk, Row rawValues) throws java.io.IOException
java.io.IOException