Spring Data Neo4j

org.springframework.data.neo4j.fieldaccess
Class AbstractNodeRelationshipFieldAccessor<STATE extends org.neo4j.graphdb.PropertyContainer,TSTATE extends org.neo4j.graphdb.PropertyContainer>

java.lang.Object
  extended by org.springframework.data.neo4j.fieldaccess.AbstractNodeRelationshipFieldAccessor<STATE,TSTATE>
All Implemented Interfaces:
FieldAccessor
Direct Known Subclasses:
NodeToNodesRelationshipFieldAccessor, OneToNRelationshipEntityFieldAccessorFactory.OneToNRelationshipEntityFieldAccessor

public abstract class AbstractNodeRelationshipFieldAccessor<STATE extends org.neo4j.graphdb.PropertyContainer,TSTATE extends org.neo4j.graphdb.PropertyContainer>
extends Object
implements FieldAccessor

Since:
11.09.2010
Author:
Michael Hunger

Field Summary
protected  org.neo4j.graphdb.Direction direction
           
protected  Neo4jPersistentProperty property
           
protected  Class<?> relatedType
           
protected  Neo4jTemplate template
           
protected  org.neo4j.graphdb.RelationshipType type
           
 
Constructor Summary
AbstractNodeRelationshipFieldAccessor(Class<?> clazz, Neo4jTemplate template, org.neo4j.graphdb.Direction direction, org.neo4j.graphdb.RelationshipType type, Neo4jPersistentProperty property)
           
 
Method Summary
protected  STATE checkUnderlyingState(Object entity)
           
protected  void createAddedRelationships(org.neo4j.graphdb.Node node, Set<org.neo4j.graphdb.Node> targetNodes)
           
protected  Set<Object> createEntitySetFromRelationshipEndNodes(Object entity, MappingPolicy mappingPolicy)
           
protected
<T> ManagedFieldAccessorSet<T>
createManagedSet(Object entity, Set<T> result, MappingPolicy mappingPolicy)
           
protected  Set<org.neo4j.graphdb.Node> createSetOfTargetNodes(Object newVal)
           
protected  void createSingleRelationship(org.neo4j.graphdb.Node start, org.neo4j.graphdb.Node end)
           
 Object getDefaultValue()
          Returns a default implementation for a field or null if none is provided.
protected  STATE getOrCreateState(Object value)
           
protected abstract  STATE getState(Object entity)
           
protected abstract  Iterable<TSTATE> getStatesFromEntity(Object entity)
           
 boolean isWriteable(Object entity)
           
protected abstract  org.neo4j.graphdb.Relationship obtainSingleRelationship(org.neo4j.graphdb.Node start, org.neo4j.graphdb.Node end)
           
protected  void removeMissingRelationships(org.neo4j.graphdb.Node node, Set<org.neo4j.graphdb.Node> targetNodes)
           
protected  MappingPolicy updateMappingPolicy(MappingPolicy mappingPolicy)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.data.neo4j.fieldaccess.FieldAccessor
getValue, setValue
 

Field Detail

type

protected final org.neo4j.graphdb.RelationshipType type

property

protected final Neo4jPersistentProperty property

direction

protected final org.neo4j.graphdb.Direction direction

relatedType

protected final Class<?> relatedType

template

protected final Neo4jTemplate template
Constructor Detail

AbstractNodeRelationshipFieldAccessor

public AbstractNodeRelationshipFieldAccessor(Class<?> clazz,
                                             Neo4jTemplate template,
                                             org.neo4j.graphdb.Direction direction,
                                             org.neo4j.graphdb.RelationshipType type,
                                             Neo4jPersistentProperty property)
Method Detail

updateMappingPolicy

protected MappingPolicy updateMappingPolicy(MappingPolicy mappingPolicy)

isWriteable

public boolean isWriteable(Object entity)
Specified by:
isWriteable in interface FieldAccessor
Returns:
false for read only or computed fields, true otherwise

checkUnderlyingState

protected STATE checkUnderlyingState(Object entity)

removeMissingRelationships

protected void removeMissingRelationships(org.neo4j.graphdb.Node node,
                                          Set<org.neo4j.graphdb.Node> targetNodes)

createAddedRelationships

protected void createAddedRelationships(org.neo4j.graphdb.Node node,
                                        Set<org.neo4j.graphdb.Node> targetNodes)

createSetOfTargetNodes

protected Set<org.neo4j.graphdb.Node> createSetOfTargetNodes(Object newVal)

getOrCreateState

protected STATE getOrCreateState(Object value)

createManagedSet

protected <T> ManagedFieldAccessorSet<T> createManagedSet(Object entity,
                                                          Set<T> result,
                                                          MappingPolicy mappingPolicy)

createEntitySetFromRelationshipEndNodes

protected Set<Object> createEntitySetFromRelationshipEndNodes(Object entity,
                                                              MappingPolicy mappingPolicy)

createSingleRelationship

protected void createSingleRelationship(org.neo4j.graphdb.Node start,
                                        org.neo4j.graphdb.Node end)

getDefaultValue

public Object getDefaultValue()
Description copied from interface: FieldAccessor
Returns a default implementation for a field or null if none is provided.

This default implementation is returned in detached mode by the DetachedEntityState when the value of the field is get.

Specified by:
getDefaultValue in interface FieldAccessor
Returns:
a default implementation for a field or null if none is provided.

obtainSingleRelationship

protected abstract org.neo4j.graphdb.Relationship obtainSingleRelationship(org.neo4j.graphdb.Node start,
                                                                           org.neo4j.graphdb.Node end)

getStatesFromEntity

protected abstract Iterable<TSTATE> getStatesFromEntity(Object entity)

getState

protected abstract STATE getState(Object entity)

Spring Data Neo4j

Copyright © 2011 SpringSource. All Rights Reserved.