Skip to content

Commit d562ba8

Browse files
committed
make DFE more nullable aware
1 parent 80928c5 commit d562ba8

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/main/java/graphql/schema/DataFetchingEnvironment.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import graphql.language.OperationDefinition;
1515
import org.dataloader.DataLoader;
1616
import org.dataloader.DataLoaderRegistry;
17-
import org.jspecify.annotations.NonNull;
17+
import org.jspecify.annotations.NullMarked;
1818
import org.jspecify.annotations.Nullable;
1919

2020
import java.util.List;
@@ -28,6 +28,7 @@
2828
*/
2929
@SuppressWarnings("TypeParameterUnusedInFormals")
3030
@PublicApi
31+
@NullMarked
3132
public interface DataFetchingEnvironment extends IntrospectionDataFetchingEnvironment {
3233

3334
/**
@@ -92,6 +93,7 @@ public interface DataFetchingEnvironment extends IntrospectionDataFetchingEnviro
9293
* @deprecated - use {@link #getGraphQlContext()} instead
9394
*/
9495
@Deprecated(since = "2021-07-05")
96+
@Nullable
9597
<T> T getContext();
9698

9799
/**
@@ -102,7 +104,6 @@ public interface DataFetchingEnvironment extends IntrospectionDataFetchingEnviro
102104
*
103105
* @return can NOT be null
104106
*/
105-
@NonNull
106107
GraphQLContext getGraphQlContext();
107108

108109
/**
@@ -130,6 +131,7 @@ public interface DataFetchingEnvironment extends IntrospectionDataFetchingEnviro
130131
*
131132
* @return can be null
132133
*/
134+
@Nullable
133135
<T> T getRoot();
134136

135137
/**

src/main/java/graphql/schema/DataFetchingEnvironmentImpl.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import graphql.language.OperationDefinition;
2222
import org.dataloader.DataLoader;
2323
import org.dataloader.DataLoaderRegistry;
24-
import org.jspecify.annotations.NonNull;
24+
import org.jspecify.annotations.NullMarked;
2525
import org.jspecify.annotations.Nullable;
2626

2727
import java.util.List;
@@ -31,6 +31,7 @@
3131

3232
@SuppressWarnings({"unchecked", "TypeParameterUnusedInFormals"})
3333
@Internal
34+
@NullMarked
3435
public class DataFetchingEnvironmentImpl implements DataFetchingEnvironment {
3536
private final Object source;
3637
private final Supplier<Map<String, Object>> arguments;
@@ -112,6 +113,7 @@ public static Builder newDataFetchingEnvironment(ExecutionContext executionConte
112113
}
113114

114115
@Override
116+
@Nullable
115117
public <T> T getSource() {
116118
return (T) source;
117119
}
@@ -127,7 +129,7 @@ public boolean containsArgument(String name) {
127129
}
128130

129131
@Override
130-
public <T> T getArgument(String name) {
132+
public @Nullable <T> T getArgument(String name) {
131133
return (T) arguments.get().get(name);
132134
}
133135

@@ -137,12 +139,12 @@ public <T> T getArgumentOrDefault(String name, T defaultValue) {
137139
}
138140

139141
@Override
140-
public <T> T getContext() {
142+
public @Nullable <T> T getContext() {
141143
return (T) context;
142144
}
143145

144146
@Override
145-
public @NonNull GraphQLContext getGraphQlContext() {
147+
public GraphQLContext getGraphQlContext() {
146148
return graphQLContext;
147149
}
148150

@@ -152,7 +154,7 @@ public <T> T getContext() {
152154
}
153155

154156
@Override
155-
public <T> T getRoot() {
157+
public @Nullable <T> T getRoot() {
156158
return (T) root;
157159
}
158160

@@ -333,13 +335,13 @@ public Builder arguments(Supplier<Map<String, Object>> arguments) {
333335
}
334336

335337
@Deprecated(since = "2021-07-05")
336-
public Builder context(Object context) {
338+
public Builder context(@Nullable Object context) {
337339
this.context = context;
338340
return this;
339341
}
340342

341343
public Builder graphQLContext(GraphQLContext context) {
342-
this.graphQLContext = context;
344+
this.graphQLContext = Assert.assertNotNull(context, "GraphQLContext cannot be null");
343345
return this;
344346
}
345347

0 commit comments

Comments
 (0)