org.springframework.data.neo4j.support.typerepresentation
Class SubReferenceNodeTypeRepresentationStrategy
java.lang.Object
org.springframework.data.neo4j.support.typerepresentation.SubReferenceNodeTypeRepresentationStrategy
- All Implemented Interfaces:
- NodeTypeRepresentationStrategy, TypeRepresentationStrategy<org.neo4j.graphdb.Node>
public class SubReferenceNodeTypeRepresentationStrategy
- extends Object
- implements NodeTypeRepresentationStrategy
A TypeRepresentationStrategy
that uses a hierarchy of reference nodes to represent the java type of the entity in the
graph database. Entity nodes are related to their concrete type via an INSTANCE_OF relationship, the type hierarchy is
related to supertypes via SUBCLASS_OF relationships. Each concrete subreference node keeps a count property with the number of
instances of this class in the graph.
- Since:
- 13.09.2010
- Author:
- Michael Hunger
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSTANCE_OF_RELATIONSHIP_TYPE
public static final org.neo4j.graphdb.RelationshipType INSTANCE_OF_RELATIONSHIP_TYPE
SUBCLASS_OF_RELATIONSHIP_TYPE
public static final org.neo4j.graphdb.RelationshipType SUBCLASS_OF_RELATIONSHIP_TYPE
SUBREFERENCE_NODE_COUNTER_KEY
public static final String SUBREFERENCE_NODE_COUNTER_KEY
- See Also:
- Constant Field Values
SUBREF_PREFIX
public static final String SUBREF_PREFIX
- See Also:
- Constant Field Values
SUBREF_CLASS_KEY
public static final String SUBREF_CLASS_KEY
- See Also:
- Constant Field Values
SubReferenceNodeTypeRepresentationStrategy
public SubReferenceNodeTypeRepresentationStrategy(GraphDatabase graphDatabase)
getSingleOtherNode
public static org.neo4j.graphdb.Node getSingleOtherNode(org.neo4j.graphdb.Node node,
org.neo4j.graphdb.RelationshipType type,
org.neo4j.graphdb.Direction direction)
incrementAndGetCounter
public static Integer incrementAndGetCounter(org.neo4j.graphdb.Node node,
String propertyKey)
decrementAndGetCounter
public static Integer decrementAndGetCounter(org.neo4j.graphdb.Node node,
String propertyKey,
int notLowerThan)
acquireWriteLock
public static void acquireWriteLock(org.neo4j.graphdb.PropertyContainer entity)
writeTypeTo
public void writeTypeTo(org.neo4j.graphdb.Node state,
StoredEntityType type)
- Description copied from interface:
TypeRepresentationStrategy
- Callback for setting up and/or storing type information after creation.
- Specified by:
writeTypeTo
in interface TypeRepresentationStrategy<org.neo4j.graphdb.Node>
- Parameters:
state
- Backing state of entity being createdtype
- Type of entity being created
count
public long count(StoredEntityType type)
- Specified by:
count
in interface TypeRepresentationStrategy<org.neo4j.graphdb.Node>
- Returns:
- number of instances of this class contained in the graph
readAliasFrom
public Object readAliasFrom(org.neo4j.graphdb.Node node)
- Specified by:
readAliasFrom
in interface TypeRepresentationStrategy<org.neo4j.graphdb.Node>
- Returns:
- java type that of the node entity of this node
preEntityRemoval
public void preEntityRemoval(org.neo4j.graphdb.Node state)
- Description copied from interface:
TypeRepresentationStrategy
- Callback for cleaning up type information before removal. If state does not have any
state associated, doesn't do anything.
- Specified by:
preEntityRemoval
in interface TypeRepresentationStrategy<org.neo4j.graphdb.Node>
- Parameters:
state
- Backing state of entity being removed
findAll
public <T> org.neo4j.helpers.collection.ClosableIterable<org.neo4j.graphdb.Node> findAll(StoredEntityType type)
- Specified by:
findAll
in interface TypeRepresentationStrategy<org.neo4j.graphdb.Node>
- Returns:
- lazy Iterable over all instances of the given type
obtainSubreferenceNode
public org.neo4j.graphdb.Node obtainSubreferenceNode(StoredEntityType type)
obtainSubreferenceNode
public org.neo4j.graphdb.Node obtainSubreferenceNode(Object alias)
findSubreferenceNode
public org.neo4j.graphdb.Node findSubreferenceNode(StoredEntityType type)
findSubreferenceNode
public org.neo4j.graphdb.Node findSubreferenceNode(Object alias)
getOrCreateSubReferenceNode
public org.neo4j.graphdb.Node getOrCreateSubReferenceNode(org.neo4j.graphdb.RelationshipType relType)
Copyright © 2013 SpringSource. All Rights Reserved.