Skip to content

Commit 84984aa

Browse files
authored
Added a named SDL definition (#2538)
* Added a named SDL definition * Added SDLExtensionDefinition for definitions that are extends
1 parent ba2a29a commit 84984aa

12 files changed

+41
-12
lines changed

src/main/java/graphql/language/DirectiveDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import static java.util.Collections.emptyMap;
2222

2323
@PublicApi
24-
public class DirectiveDefinition extends AbstractDescribedNode<DirectiveDefinition> implements SDLDefinition<DirectiveDefinition>, NamedNode<DirectiveDefinition> {
24+
public class DirectiveDefinition extends AbstractDescribedNode<DirectiveDefinition> implements SDLNamedDefinition<DirectiveDefinition>, NamedNode<DirectiveDefinition> {
2525
private final String name;
2626
private final boolean repeatable;
2727
private final ImmutableList<InputValueDefinition> inputValueDefinitions;

src/main/java/graphql/language/EnumTypeExtensionDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import static graphql.collect.ImmutableKit.emptyList;
1515

1616
@PublicApi
17-
public class EnumTypeExtensionDefinition extends EnumTypeDefinition {
17+
public class EnumTypeExtensionDefinition extends EnumTypeDefinition implements SDLExtensionDefinition {
1818

1919
@Internal
2020
protected EnumTypeExtensionDefinition(String name,

src/main/java/graphql/language/InputObjectTypeExtensionDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import static graphql.collect.ImmutableKit.emptyList;
1515

1616
@PublicApi
17-
public class InputObjectTypeExtensionDefinition extends InputObjectTypeDefinition {
17+
public class InputObjectTypeExtensionDefinition extends InputObjectTypeDefinition implements SDLExtensionDefinition {
1818

1919
@Internal
2020
protected InputObjectTypeExtensionDefinition(String name,

src/main/java/graphql/language/InterfaceTypeDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import static graphql.language.NodeChildrenContainer.newNodeChildrenContainer;
2222

2323
@PublicApi
24-
public class InterfaceTypeDefinition extends AbstractDescribedNode<InterfaceTypeDefinition> implements ImplementingTypeDefinition<InterfaceTypeDefinition>, DirectivesContainer<InterfaceTypeDefinition>, NamedNode<InterfaceTypeDefinition> {
24+
public class InterfaceTypeDefinition extends AbstractDescribedNode<InterfaceTypeDefinition> implements ImplementingTypeDefinition<InterfaceTypeDefinition>, DirectivesContainer<InterfaceTypeDefinition>, NamedNode<InterfaceTypeDefinition>, SDLExtensionDefinition {
2525

2626
private final String name;
2727
private final ImmutableList<Type> implementz;

src/main/java/graphql/language/ObjectTypeExtensionDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import static graphql.collect.ImmutableKit.emptyMap;
1818

1919
@PublicApi
20-
public class ObjectTypeExtensionDefinition extends ObjectTypeDefinition {
20+
public class ObjectTypeExtensionDefinition extends ObjectTypeDefinition implements SDLExtensionDefinition {
2121

2222
@Internal
2323
protected ObjectTypeExtensionDefinition(String name,

src/main/java/graphql/language/SDLDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import graphql.PublicApi;
55

66
/**
7-
* All Schema Definition Language (SDL) Definitions.
7+
* An interface for Schema Definition Language (SDL) definitions.
88
*
99
* @param <T> the actual Node type
1010
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package graphql.language;
2+
3+
4+
import graphql.PublicApi;
5+
6+
/**
7+
* An marker interface for Schema Definition Language (SDL) extension definitions.
8+
*/
9+
@PublicApi
10+
public interface SDLExtensionDefinition {
11+
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package graphql.language;
2+
3+
4+
import graphql.PublicApi;
5+
6+
/**
7+
* A interface for named Schema Definition Language (SDL) definition.
8+
*
9+
* @param <T> the actual Node type
10+
*/
11+
@PublicApi
12+
public interface SDLNamedDefinition<T extends SDLNamedDefinition> extends SDLDefinition<T> {
13+
14+
/**
15+
* @return The name of this SDL definition
16+
*/
17+
String getName();
18+
}

src/main/java/graphql/language/ScalarTypeExtensionDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import static graphql.collect.ImmutableKit.emptyList;
1515

1616
@PublicApi
17-
public class ScalarTypeExtensionDefinition extends ScalarTypeDefinition {
17+
public class ScalarTypeExtensionDefinition extends ScalarTypeDefinition implements SDLExtensionDefinition {
1818

1919
@Internal
2020
protected ScalarTypeExtensionDefinition(String name,

src/main/java/graphql/language/SchemaExtensionDefinition.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import graphql.PublicApi;
55
import graphql.collect.ImmutableKit;
66

7-
import java.util.ArrayList;
87
import java.util.LinkedHashMap;
98
import java.util.List;
109
import java.util.Map;
@@ -14,7 +13,7 @@
1413
import static graphql.collect.ImmutableKit.emptyList;
1514

1615
@PublicApi
17-
public class SchemaExtensionDefinition extends SchemaDefinition {
16+
public class SchemaExtensionDefinition extends SchemaDefinition implements SDLExtensionDefinition {
1817

1918
protected SchemaExtensionDefinition(List<Directive> directives,
2019
List<OperationTypeDefinition> operationTypeDefinitions,

src/main/java/graphql/language/TypeDefinition.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
import graphql.PublicApi;
55

66
/**
7-
* All type definitions in a SDL.
7+
* An interface for type definitions in a Schema Definition Language (SDL).
88
*
99
* @param <T> the actual Node type
1010
*/
1111
@PublicApi
12-
public interface TypeDefinition<T extends TypeDefinition> extends SDLDefinition<T>, DirectivesContainer<T>, NamedNode<T> {
12+
public interface TypeDefinition<T extends TypeDefinition> extends SDLNamedDefinition<T>, DirectivesContainer<T>, NamedNode<T> {
1313

1414
}

src/main/java/graphql/language/UnionTypeExtensionDefinition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import static graphql.collect.ImmutableKit.emptyList;
1515

1616
@PublicApi
17-
public class UnionTypeExtensionDefinition extends UnionTypeDefinition {
17+
public class UnionTypeExtensionDefinition extends UnionTypeDefinition implements SDLExtensionDefinition {
1818

1919
@Internal
2020
protected UnionTypeExtensionDefinition(String name,

0 commit comments

Comments
 (0)