package org.neo4j.util;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.ReturnableEvaluator;
import org.neo4j.graphdb.TraversalPosition;
public class OneOfRelTypesReturnableEvaluator implements ReturnableEvaluator
{
private final Set<String> types;
public OneOfRelTypesReturnableEvaluator( RelationshipType... types )
{
this.types = new HashSet<String>();
for ( RelationshipType type : types )
{
this.types.add( type.name() );
}
}
public OneOfRelTypesReturnableEvaluator( String... names )
{
this.types = new HashSet<String>( Arrays.asList( names ) );
}
public boolean isReturnableNode( TraversalPosition currentPos )
{
Relationship rel = currentPos.lastRelationshipTraversed();
return rel != null && this.types.contains( rel.getType().name() );
}
}