Skip to content

Commit 35f2f11

Browse files
committed
extract interface and make this public instead of Impl
1 parent e33a073 commit 35f2f11

6 files changed

Lines changed: 103 additions & 79 deletions

src/main/java/graphql/analysis/QueryTraversal.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public TraversalControl visitInlineFragment(InlineFragment inlineFragment, Trave
154154
if (!conditionalNodes.shouldInclude(variables, inlineFragment.getDirectives()))
155155
return TraversalControl.ABORT;
156156

157-
QueryVisitorInlineFragmentEnvironment inlineFragmentEnvironment = new QueryVisitorInlineFragmentEnvironment(inlineFragment);
157+
QueryVisitorInlineFragmentEnvironment inlineFragmentEnvironment = new QueryVisitorInlineFragmentEnvironmentImpl(inlineFragment);
158158

159159
if (context.getVar(LeaveOrEnter.class) == LEAVE) {
160160
postOrderCallback.visitInlineFragment(inlineFragmentEnvironment);
@@ -189,7 +189,7 @@ public TraversalControl visitFragmentSpread(FragmentSpread fragmentSpread, Trave
189189
if (!conditionalNodes.shouldInclude(variables, fragmentDefinition.getDirectives()))
190190
return TraversalControl.ABORT;
191191

192-
QueryVisitorFragmentSpreadEnvironment fragmentSpreadEnvironment = new QueryVisitorFragmentSpreadEnvironment(fragmentSpread, fragmentDefinition);
192+
QueryVisitorFragmentSpreadEnvironment fragmentSpreadEnvironment = new QueryVisitorFragmentSpreadEnvironmentImpl(fragmentSpread, fragmentDefinition);
193193
if (context.getVar(LeaveOrEnter.class) == LEAVE) {
194194
postOrderCallback.visitFragmentSpread(fragmentSpreadEnvironment);
195195
return TraversalControl.CONTINUE;

src/main/java/graphql/analysis/QueryVisitorFragmentSpreadEnvironment.java

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,9 @@
44
import graphql.language.FragmentDefinition;
55
import graphql.language.FragmentSpread;
66

7-
import java.util.Objects;
8-
97
@PublicApi
10-
public class QueryVisitorFragmentSpreadEnvironment {
11-
12-
private final FragmentSpread fragmentSpread;
13-
private final FragmentDefinition fragmentDefinition;
14-
15-
public QueryVisitorFragmentSpreadEnvironment(FragmentSpread fragmentSpread, FragmentDefinition fragmentDefinition) {
16-
this.fragmentSpread = fragmentSpread;
17-
this.fragmentDefinition = fragmentDefinition;
18-
}
19-
20-
public FragmentSpread getFragmentSpread() {
21-
return fragmentSpread;
22-
}
8+
public interface QueryVisitorFragmentSpreadEnvironment {
9+
FragmentSpread getFragmentSpread();
2310

24-
public FragmentDefinition getFragmentDefinition() {
25-
return fragmentDefinition;
26-
}
27-
28-
@Override
29-
public boolean equals(Object o) {
30-
if (this == o) return true;
31-
if (o == null || getClass() != o.getClass()) return false;
32-
QueryVisitorFragmentSpreadEnvironment that = (QueryVisitorFragmentSpreadEnvironment) o;
33-
return Objects.equals(fragmentSpread, that.fragmentSpread);
34-
}
35-
36-
@Override
37-
public int hashCode() {
38-
return Objects.hash(fragmentSpread);
39-
}
11+
FragmentDefinition getFragmentDefinition();
4012
}
41-
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package graphql.analysis;
2+
3+
import graphql.Internal;
4+
import graphql.language.FragmentDefinition;
5+
import graphql.language.FragmentSpread;
6+
7+
import java.util.Objects;
8+
9+
@Internal
10+
public class QueryVisitorFragmentSpreadEnvironmentImpl implements QueryVisitorFragmentSpreadEnvironment {
11+
12+
private final FragmentSpread fragmentSpread;
13+
private final FragmentDefinition fragmentDefinition;
14+
15+
public QueryVisitorFragmentSpreadEnvironmentImpl(FragmentSpread fragmentSpread, FragmentDefinition fragmentDefinition) {
16+
this.fragmentSpread = fragmentSpread;
17+
this.fragmentDefinition = fragmentDefinition;
18+
}
19+
20+
@Override
21+
public FragmentSpread getFragmentSpread() {
22+
return fragmentSpread;
23+
}
24+
25+
@Override
26+
public FragmentDefinition getFragmentDefinition() {
27+
return fragmentDefinition;
28+
}
29+
30+
@Override
31+
public boolean equals(Object o) {
32+
if (this == o) return true;
33+
if (o == null || getClass() != o.getClass()) return false;
34+
QueryVisitorFragmentSpreadEnvironmentImpl that = (QueryVisitorFragmentSpreadEnvironmentImpl) o;
35+
return Objects.equals(fragmentSpread, that.fragmentSpread);
36+
}
37+
38+
@Override
39+
public int hashCode() {
40+
return Objects.hash(fragmentSpread);
41+
}
42+
}
43+

src/main/java/graphql/analysis/QueryVisitorInlineFragmentEnvironment.java

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,7 @@
33
import graphql.PublicApi;
44
import graphql.language.InlineFragment;
55

6-
import java.util.Objects;
7-
86
@PublicApi
9-
public class QueryVisitorInlineFragmentEnvironment {
10-
private final InlineFragment inlineFragment;
11-
12-
public QueryVisitorInlineFragmentEnvironment(InlineFragment inlineFragment) {
13-
this.inlineFragment = inlineFragment;
14-
}
15-
16-
public InlineFragment getInlineFragment() {
17-
return inlineFragment;
18-
}
19-
20-
@Override
21-
public boolean equals(Object o) {
22-
if (this == o) return true;
23-
if (o == null || getClass() != o.getClass()) return false;
24-
QueryVisitorInlineFragmentEnvironment that = (QueryVisitorInlineFragmentEnvironment) o;
25-
return Objects.equals(inlineFragment, that.inlineFragment);
26-
}
27-
28-
@Override
29-
public int hashCode() {
30-
31-
return Objects.hash(inlineFragment);
32-
}
33-
34-
@Override
35-
public String toString() {
36-
return "QueryVisitorInlineFragmentEnvironment{" +
37-
"inlineFragment=" + inlineFragment +
38-
'}';
39-
}
7+
public interface QueryVisitorInlineFragmentEnvironment {
8+
InlineFragment getInlineFragment();
409
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package graphql.analysis;
2+
3+
import graphql.Internal;
4+
import graphql.language.InlineFragment;
5+
6+
import java.util.Objects;
7+
8+
@Internal
9+
public class QueryVisitorInlineFragmentEnvironmentImpl implements QueryVisitorInlineFragmentEnvironment {
10+
private final InlineFragment inlineFragment;
11+
12+
public QueryVisitorInlineFragmentEnvironmentImpl(InlineFragment inlineFragment) {
13+
this.inlineFragment = inlineFragment;
14+
}
15+
16+
@Override
17+
public InlineFragment getInlineFragment() {
18+
return inlineFragment;
19+
}
20+
21+
@Override
22+
public boolean equals(Object o) {
23+
if (this == o) return true;
24+
if (o == null || getClass() != o.getClass()) return false;
25+
QueryVisitorInlineFragmentEnvironmentImpl that = (QueryVisitorInlineFragmentEnvironmentImpl) o;
26+
return Objects.equals(inlineFragment, that.inlineFragment);
27+
}
28+
29+
@Override
30+
public int hashCode() {
31+
32+
return Objects.hash(inlineFragment);
33+
}
34+
35+
@Override
36+
public String toString() {
37+
return "QueryVisitorInlineFragmentEnvironmentImpl{" +
38+
"inlineFragment=" + inlineFragment +
39+
'}';
40+
}
41+
}

src/test/groovy/graphql/analysis/QueryTraversalTest.groovy

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,11 @@ class QueryTraversalTest extends Specification {
133133
queryTraversal.visitPreOrder(visitor)
134134

135135
then:
136-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentRoot })
136+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentRoot })
137137
then:
138-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentLeft })
138+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentLeft })
139139
then:
140-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentRight })
140+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentRight })
141141

142142
}
143143

@@ -177,11 +177,11 @@ class QueryTraversalTest extends Specification {
177177
queryTraversal.visitPostOrder(visitor)
178178

179179
then:
180-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentLeft })
180+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentLeft })
181181
then:
182-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentRight })
182+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentRight })
183183
then:
184-
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironment env -> env.inlineFragment == inlineFragmentRoot })
184+
1 * visitor.visitInlineFragment({ QueryVisitorInlineFragmentEnvironmentImpl env -> env.inlineFragment == inlineFragmentRoot })
185185

186186
}
187187

@@ -231,11 +231,11 @@ class QueryTraversalTest extends Specification {
231231
queryTraversal.visitPreOrder(visitor)
232232

233233
then:
234-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadRoot && env.fragmentDefinition == fragmentF1})
234+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadRoot && env.fragmentDefinition == fragmentF1 })
235235
then:
236-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadLeft && env.fragmentDefinition == fragmentF2 })
236+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadLeft && env.fragmentDefinition == fragmentF2 })
237237
then:
238-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadRight && env.fragmentDefinition == fragmentF3 })
238+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadRight && env.fragmentDefinition == fragmentF3 })
239239

240240
}
241241

@@ -285,11 +285,11 @@ class QueryTraversalTest extends Specification {
285285
queryTraversal.visitPostOrder(visitor)
286286

287287
then:
288-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadLeft && env.fragmentDefinition == fragmentF2 })
288+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadLeft && env.fragmentDefinition == fragmentF2 })
289289
then:
290-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadRight && env.fragmentDefinition == fragmentF3 })
290+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadRight && env.fragmentDefinition == fragmentF3 })
291291
then:
292-
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironment env -> env.fragmentSpread == fragmentSpreadRoot && env.fragmentDefinition == fragmentF1})
292+
1 * visitor.visitFragmentSpread({ QueryVisitorFragmentSpreadEnvironmentImpl env -> env.fragmentSpread == fragmentSpreadRoot && env.fragmentDefinition == fragmentF1 })
293293

294294
}
295295

0 commit comments

Comments
 (0)