Skip to content

Commit e55ddee

Browse files
committed
1 parent 6805578 commit e55ddee

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

src/main/java/graphql/Directives.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public class Directives {
3737
public static final String NO_LONGER_SUPPORTED = "No longer supported";
3838
public static final DirectiveDefinition DEPRECATED_DIRECTIVE_DEFINITION;
3939
public static final DirectiveDefinition SPECIFIED_BY_DIRECTIVE_DEFINITION;
40+
@ExperimentalApi
4041
public static final DirectiveDefinition ONE_OF_DIRECTIVE_DEFINITION;
4142

4243

@@ -128,6 +129,7 @@ public class Directives {
128129
.definition(SPECIFIED_BY_DIRECTIVE_DEFINITION)
129130
.build();
130131

132+
@ExperimentalApi
131133
public static final GraphQLDirective OneOfDirective = GraphQLDirective.newDirective()
132134
.name(ONE_OF)
133135
.description("Indicates an Input Object is a OneOf Input Object.")

src/main/java/graphql/introspection/Introspection.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ private static String printDefaultValue(InputValueWithState inputValueWithState,
450450
.type(typeRef("__Type")))
451451
.field(newFieldDefinition()
452452
.name("isOneOf")
453+
.description("This field is considered experimental because it has not yet been ratified in the graphql specification")
453454
.type(GraphQLBoolean))
454455
.field(newFieldDefinition()
455456
.name("specifiedByURL")

src/main/java/graphql/schema/GraphQLInputObjectType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.google.common.collect.ImmutableMap;
55
import graphql.Directives;
66
import graphql.DirectivesUtil;
7+
import graphql.ExperimentalApi;
78
import graphql.Internal;
89
import graphql.PublicApi;
910
import graphql.language.InputObjectTypeDefinition;
@@ -86,9 +87,13 @@ public String getName() {
8687

8788
/**
8889
* An Input Object is considered a OneOf Input Object if it has the `@oneOf` directive applied to it.
90+
* <p>
91+
* This API is currently considered experimental since the graphql specification has not yet ratified
92+
* this approach.
8993
*
9094
* @return true if it's a OneOf Input Object
9195
*/
96+
@ExperimentalApi
9297
public boolean isOneOf() {
9398
return isOneOf;
9499
}

src/main/java/graphql/schema/validation/OneOfInputObjectRules.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package graphql.schema.validation;
22

3+
import graphql.ExperimentalApi;
34
import graphql.schema.GraphQLInputObjectField;
45
import graphql.schema.GraphQLInputObjectType;
56
import graphql.schema.GraphQLSchemaElement;
@@ -15,6 +16,7 @@
1516
* The type of the input field must be nullable.
1617
* The input field must not have a default value.
1718
*/
19+
@ExperimentalApi
1820
public class OneOfInputObjectRules extends GraphQLTypeVisitorStub {
1921

2022
@Override

0 commit comments

Comments
 (0)