Spring Data Neo4j

org.springframework.data.neo4j.support.mapping
Class AbstractConstructorEntityInstantiator<STATE>

java.lang.Object
  extended by org.springframework.data.neo4j.support.mapping.AbstractConstructorEntityInstantiator<STATE>
All Implemented Interfaces:
EntityInstantiator<STATE>
Direct Known Subclasses:
NodeEntityInstantiator, RelationshipEntityInstantiator

public abstract class AbstractConstructorEntityInstantiator<STATE>
extends Object
implements EntityInstantiator<STATE>

Try for a constructor taking state: failing that, try a no-arg constructor and then setUnderlyingNode().

Author:
Rod Johnson

Constructor Summary
AbstractConstructorEntityInstantiator()
           
 
Method Summary
<T> T
createEntityFromState(STATE n, Class<T> c, MappingPolicy mappingPolicy)
           
protected
<T> StateBackedCreator<T,STATE>
createFailingInstantiator(Class<STATE> stateType)
           
protected
<T> StateBackedCreator<T,STATE>
createInstantiator(Class<T> type, Class<STATE> stateType)
           
protected
<T> StateBackedCreator<T,STATE>
createWithoutConstructorInvocation(Class<T> type, Class<STATE> stateType)
           
protected
<T> Constructor<T>
getDeclaredConstructor(Class<T> c)
           
protected  String getFailingMessageForClass(Class<?> entityClass, Class<STATE> stateClass)
           
protected
<T> Constructor<T>
getNoArgConstructor(Class<T> type)
           
protected abstract  Class<STATE> getStateInterface()
          subclasses have to provide the concrete state interface
 void setInstantiators(Map<Class<?>,StateBackedCreator<?,STATE>> instantiators)
           
protected abstract  void setState(Object entity, STATE s)
          Subclasses must implement to set state
protected
<T> StateBackedCreator<T,STATE>
stateTakingConstructorInstantiator(Class<T> type, Class<STATE> stateType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractConstructorEntityInstantiator

public AbstractConstructorEntityInstantiator()
Method Detail

createEntityFromState

public <T> T createEntityFromState(STATE n,
                                   Class<T> c,
                                   MappingPolicy mappingPolicy)
Specified by:
createEntityFromState in interface EntityInstantiator<STATE>

setInstantiators

public void setInstantiators(Map<Class<?>,StateBackedCreator<?,STATE>> instantiators)

createInstantiator

protected <T> StateBackedCreator<T,STATE> createInstantiator(Class<T> type,
                                                             Class<STATE> stateType)

createFailingInstantiator

protected <T> StateBackedCreator<T,STATE> createFailingInstantiator(Class<STATE> stateType)

getFailingMessageForClass

protected String getFailingMessageForClass(Class<?> entityClass,
                                           Class<STATE> stateClass)

createWithoutConstructorInvocation

protected <T> StateBackedCreator<T,STATE> createWithoutConstructorInvocation(Class<T> type,
                                                                             Class<STATE> stateType)

getNoArgConstructor

protected <T> Constructor<T> getNoArgConstructor(Class<T> type)

stateTakingConstructorInstantiator

protected <T> StateBackedCreator<T,STATE> stateTakingConstructorInstantiator(Class<T> type,
                                                                             Class<STATE> stateType)

getDeclaredConstructor

protected <T> Constructor<T> getDeclaredConstructor(Class<T> c)

setState

protected abstract void setState(Object entity,
                                 STATE s)
Subclasses must implement to set state

Parameters:
entity -
s -

getStateInterface

protected abstract Class<STATE> getStateInterface()
subclasses have to provide the concrete state interface


Spring Data Neo4j

Copyright © 2013 SpringSource. All Rights Reserved.