1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.rest.domain;
21
22 import org.neo4j.graphdb.Path;
23 import org.neo4j.server.rest.repr.FullPathRepresentation;
24 import org.neo4j.server.rest.repr.MappingRepresentation;
25 import org.neo4j.server.rest.repr.RepresentationType;
26
27 public enum TraverserReturnType
28 {
29 node( RepresentationType.NODE )
30 {
31 @Override
32 public MappingRepresentation toRepresentation( Path position )
33 {
34 return new org.neo4j.server.rest.repr.NodeRepresentation( position.endNode() );
35 }
36 },
37 relationship( RepresentationType.RELATIONSHIP )
38 {
39 @Override
40 public MappingRepresentation toRepresentation( Path position )
41 {
42 return new org.neo4j.server.rest.repr.RelationshipRepresentation(
43 position.lastRelationship() );
44 }
45 },
46 path( RepresentationType.PATH )
47 {
48 @Override
49 public MappingRepresentation toRepresentation( Path position )
50 {
51 return new org.neo4j.server.rest.repr.PathRepresentation( position );
52 }
53 },
54 fullpath( RepresentationType.FULL_PATH )
55 {
56 @Override
57 public MappingRepresentation toRepresentation( Path position )
58 {
59 return new FullPathRepresentation( position );
60 }
61 };
62 public final RepresentationType repType;
63
64 private TraverserReturnType( RepresentationType repType )
65 {
66 this.repType = repType;
67 }
68
69 public abstract MappingRepresentation toRepresentation( Path position );
70 }