@@ -9,24 +9,36 @@ public final class ActorIdentity {
99 private final String name ;
1010 private final Optional <String > maybeParent ;
1111
12- private ActorIdentity (String system , String name , String parent ){
12+ private final boolean lookup ;
13+
14+ private ActorIdentity (String system , String name , String parent , boolean lookup ){
1315 this .system = system ;
1416 this .name = name ;
1517 this .maybeParent = Optional .ofNullable (parent );
18+ this .lookup = lookup ;
1619 }
1720
18- private ActorIdentity (String system , String name ){
21+ private ActorIdentity (String system , String name , boolean lookup ){
1922 this .system = system ;
2023 this .name = name ;
2124 this .maybeParent = Optional .empty ();
25+ this .lookup = lookup ;
2226 }
2327
2428 public static ActorIdentity of (String system , String name ) {
25- return new ActorIdentity (system , name );
29+ return new ActorIdentity (system , name , true );
2630 }
2731
2832 public static ActorIdentity of (String system , String name , String parent ) {
29- return new ActorIdentity (system , name , parent );
33+ return new ActorIdentity (system , name , parent , true );
34+ }
35+
36+ public static ActorIdentity of (String system , String name , boolean lookup ) {
37+ return new ActorIdentity (system , name , lookup );
38+ }
39+
40+ public static ActorIdentity of (String system , String name , String parent , boolean lookup ) {
41+ return new ActorIdentity (system , name , parent , lookup );
3042 }
3143
3244 public String getSystem () {
@@ -49,17 +61,21 @@ public boolean isParent() {
4961 return this .maybeParent .isPresent ();
5062 }
5163
64+ public boolean hasLookup () {
65+ return lookup ;
66+ }
67+
5268 @ Override
5369 public boolean equals (Object o ) {
5470 if (this == o ) return true ;
5571 if (o == null || getClass () != o .getClass ()) return false ;
56- ActorIdentity actorIdentity = (ActorIdentity ) o ;
57- return system .equals (actorIdentity .system ) && name .equals (actorIdentity .name ) && maybeParent .equals (actorIdentity .maybeParent );
72+ ActorIdentity that = (ActorIdentity ) o ;
73+ return lookup == that . lookup && system .equals (that .system ) && name .equals (that .name ) && maybeParent .equals (that .maybeParent );
5874 }
5975
6076 @ Override
6177 public int hashCode () {
62- return Objects .hash (system , name , maybeParent );
78+ return Objects .hash (system , name , maybeParent , lookup );
6379 }
6480
6581 @ Override
@@ -68,6 +84,7 @@ public String toString() {
6884 .add ("system='" + system + "'" )
6985 .add ("name='" + name + "'" )
7086 .add ("maybeParent=" + maybeParent )
87+ .add ("lookup=" + lookup )
7188 .toString ();
7289 }
7390}
0 commit comments