Class CollectionFieldOperationHandler
- java.lang.Object
-
- com.linkedin.davinci.schema.merge.CollectionFieldOperationHandler
-
- Direct Known Subclasses:
SortBasedCollectionFieldOpHandler
@ThreadSafe public abstract class CollectionFieldOperationHandler extends java.lang.Object
This class handles all operations on a collection field with replication metadata.
-
-
Field Summary
Fields Modifier and Type Field Description protected AvroCollectionElementComparator
avroElementComparator
-
Constructor Summary
Constructors Constructor Description CollectionFieldOperationHandler(AvroCollectionElementComparator avroElementComparator)
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract UpdateResultStatus
handleDeleteList(long deleteTimestamp, int coloID, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
abstract UpdateResultStatus
handleDeleteMap(long deleteTimestamp, int coloID, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
abstract UpdateResultStatus
handleModifyList(long modifyTimestamp, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField, java.util.List<java.lang.Object> newEntries, java.util.List<java.lang.Object> toRemoveKeys)
abstract UpdateResultStatus
handleModifyMap(long modifyTimestamp, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField, java.util.Map<java.lang.String,java.lang.Object> newEntries, java.util.List<java.lang.String> toRemoveKeys)
abstract UpdateResultStatus
handlePutList(long putTimestamp, int coloID, java.util.List<java.lang.Object> newFieldValue, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
abstract UpdateResultStatus
handlePutMap(long putTimestamp, int coloID, IndexedHashMap<java.lang.String,java.lang.Object> newFieldValue, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
-
-
-
Field Detail
-
avroElementComparator
protected final AvroCollectionElementComparator avroElementComparator
-
-
Constructor Detail
-
CollectionFieldOperationHandler
public CollectionFieldOperationHandler(AvroCollectionElementComparator avroElementComparator)
-
-
Method Detail
-
handlePutList
public abstract UpdateResultStatus handlePutList(long putTimestamp, int coloID, java.util.List<java.lang.Object> newFieldValue, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
-
handlePutMap
public abstract UpdateResultStatus handlePutMap(long putTimestamp, int coloID, IndexedHashMap<java.lang.String,java.lang.Object> newFieldValue, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
-
handleDeleteList
public abstract UpdateResultStatus handleDeleteList(long deleteTimestamp, int coloID, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
-
handleDeleteMap
public abstract UpdateResultStatus handleDeleteMap(long deleteTimestamp, int coloID, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField)
-
handleModifyList
public abstract UpdateResultStatus handleModifyList(long modifyTimestamp, CollectionRmdTimestamp<java.lang.Object> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField, java.util.List<java.lang.Object> newEntries, java.util.List<java.lang.Object> toRemoveKeys)
-
handleModifyMap
public abstract UpdateResultStatus handleModifyMap(long modifyTimestamp, CollectionRmdTimestamp<java.lang.String> collectionFieldRmd, org.apache.avro.generic.GenericRecord currValueRecord, org.apache.avro.Schema.Field currValueRecordField, java.util.Map<java.lang.String,java.lang.Object> newEntries, java.util.List<java.lang.String> toRemoveKeys)
-
-