Package er.neo4jadaptor.query.neo4j_eval.retrievers

Source Code of er.neo4jadaptor.query.neo4j_eval.retrievers.RelationshipToNode

/**
*
*/
package er.neo4jadaptor.query.neo4j_eval.retrievers;

import java.util.Iterator;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;

import com.webobjects.eoaccess.EORelationship;

import er.neo4jadaptor.utils.iteration.Iterators;

/**
* Retrieves EO relationship destination, where the source object is representing a record
* from some join entity.
*
* @author Jedrzej Sobanski
*
*/
public class RelationshipToNode extends RelationshipRetriever<Relationship, Node> {
  private final String propertyName;
 
  public RelationshipToNode(EORelationship rel) {
    propertyName = rel.sourceAttributes().get(0).name();
  }
 
  public Iterator<Node> retrieve(Relationship rel) {
    long nodeId = ((Number) rel.getProperty(propertyName)).longValue();
    GraphDatabaseService db = rel.getGraphDatabase();
   
    return Iterators.singleton(db.getNodeById(nodeId));
  }
 
  @Override
  public String toString() {
    return "relationship-to-node through " + propertyName;
  }
}
TOP

Related Classes of er.neo4jadaptor.query.neo4j_eval.retrievers.RelationshipToNode

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.