GigaSpaces XAP 9.1 API

org.openspaces.persistency.cassandra.meta.mapping.node
Class AbstractCompoundTypeNode

java.lang.Object
  extended by org.openspaces.persistency.cassandra.meta.mapping.node.AbstractCompoundTypeNode
All Implemented Interfaces:
CompoundTypeNode, TypeNode
Direct Known Subclasses:
MapTypeNode, PojoTypeNode, SpaceDocumentTypeNode

public abstract class AbstractCompoundTypeNode
extends Object
implements CompoundTypeNode

Base class for CompoundTypeNode implementations.

Since:
9.1.1
Author:
Dan Kilman

Constructor Summary
AbstractCompoundTypeNode()
           
 
Method Summary
 Map<String,TypedColumnMetadata> getAllTypedColumnMetadataChildren()
           
protected  Map<String,TypeNode> getChildren()
           
protected abstract  String getDynamicHeaderColumnName()
          controls how this type will be read from cassandra, see implementations and SpaceDocumentTopLevelTypeNode.
protected  void writePropertyToColumnFamilyRow(ColumnFamilyRow row, String propertyName, Object propertyValue, TypeNodeContext context)
           
 void writeToColumnFamilyRow(Object value, ColumnFamilyRow row, TypeNodeContext context)
          Recursively write the value matching this type node and all its children to a ColumnFamilyRow instance.
protected abstract  void writeToColumnFamilyRowImpl(Object value, ColumnFamilyRow row, TypeNodeContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.openspaces.persistency.cassandra.meta.mapping.node.TypeNode
getFullName, getName, getType, readFromColumnFamilyRow
 

Constructor Detail

AbstractCompoundTypeNode

public AbstractCompoundTypeNode()
Method Detail

getAllTypedColumnMetadataChildren

public Map<String,TypedColumnMetadata> getAllTypedColumnMetadataChildren()
Specified by:
getAllTypedColumnMetadataChildren in interface CompoundTypeNode
Returns:
rescursively get all leaf typed column metadata nodes.

writeToColumnFamilyRow

public void writeToColumnFamilyRow(Object value,
                                   ColumnFamilyRow row,
                                   TypeNodeContext context)
Description copied from interface: TypeNode
Recursively write the value matching this type node and all its children to a ColumnFamilyRow instance.

Specified by:
writeToColumnFamilyRow in interface TypeNode
Parameters:
value - The value matching this type node.
row - The row to write the value into.
context - the current TypeNodeContext.

writePropertyToColumnFamilyRow

protected void writePropertyToColumnFamilyRow(ColumnFamilyRow row,
                                              String propertyName,
                                              Object propertyValue,
                                              TypeNodeContext context)

writeToColumnFamilyRowImpl

protected abstract void writeToColumnFamilyRowImpl(Object value,
                                                   ColumnFamilyRow row,
                                                   TypeNodeContext context)

getDynamicHeaderColumnName

protected abstract String getDynamicHeaderColumnName()
controls how this type will be read from cassandra, see implementations and SpaceDocumentTopLevelTypeNode. returning null will result by child property values being put in a HashMap


getChildren

protected Map<String,TypeNode> getChildren()

GigaSpaces XAP 9.1 API

Copyright © GigaSpaces.