package c.cg; import org.neo4j.ogm.session.Session; import n.Neo4JSessionFactory; public class DomainmodelFactory implements FactoryInterface { private static final int DEPTH_ALL = 0; private static final int DEPTH_SINGLE_ENTITY = 1; private Session mySession = Neo4JSessionFactory.createNeo4JSession(); private Class mySupportedType = null; public DomainmodelFactory(Class ownerType) { // TODO Auto-generated constructor stub mySupportedType = ownerType; } @Override public Iterable findAll() { // TODO Auto-generated method stub return mySession.loadAll(getEntityType(), DEPTH_ALL); } @Override public T find(String idOfObjectToFind) { // TODO Auto-generated method stub return mySession.load(getEntityType(), idOfObjectToFind, DEPTH_SINGLE_ENTITY); } @Override public void delete(String idOfObjectToDelete) { // TODO Auto-generated method stub mySession.delete(find(idOfObjectToDelete)); } @Override public T createOrUpdate(T objectToSave) { // TODO Auto-generated method stub mySession.save(objectToSave, DEPTH_SINGLE_ENTITY); return find(objectToSave.toString()); } private Class getEntityType() { return mySupportedType; } }