The directives that are understood by graphql-java
| 40 | * The directives that are understood by graphql-java |
| 41 | */ |
| 42 | @PublicApi |
| 43 | @NullMarked |
| 44 | public class Directives { |
| 45 | |
| 46 | private static final String DEPRECATED = "deprecated"; |
| 47 | private static final String INCLUDE = "include"; |
| 48 | private static final String SKIP = "skip"; |
| 49 | private static final String SPECIFIED_BY = "specifiedBy"; |
| 50 | private static final String ONE_OF = "oneOf"; |
| 51 | private static final String DEFER = "defer"; |
| 52 | private static final String EXPERIMENTAL_DISABLE_ERROR_PROPAGATION = "experimental_disableErrorPropagation"; |
| 53 | |
| 54 | public static final DirectiveDefinition DEPRECATED_DIRECTIVE_DEFINITION; |
| 55 | public static final DirectiveDefinition INCLUDE_DIRECTIVE_DEFINITION; |
| 56 | public static final DirectiveDefinition SKIP_DIRECTIVE_DEFINITION; |
| 57 | public static final DirectiveDefinition SPECIFIED_BY_DIRECTIVE_DEFINITION; |
| 58 | @ExperimentalApi |
| 59 | public static final DirectiveDefinition ONE_OF_DIRECTIVE_DEFINITION; |
| 60 | @ExperimentalApi |
| 61 | public static final DirectiveDefinition DEFER_DIRECTIVE_DEFINITION; |
| 62 | @ExperimentalApi |
| 63 | public static final DirectiveDefinition EXPERIMENTAL_DISABLE_ERROR_PROPAGATION_DIRECTIVE_DEFINITION; |
| 64 | |
| 65 | public static final String BOOLEAN = "Boolean"; |
| 66 | public static final String STRING = "String"; |
| 67 | public static final String NO_LONGER_SUPPORTED = "No longer supported"; |
| 68 | |
| 69 | static { |
| 70 | DEPRECATED_DIRECTIVE_DEFINITION = DirectiveDefinition.newDirectiveDefinition() |
| 71 | .name(DEPRECATED) |
| 72 | .directiveLocation(newDirectiveLocation().name(FIELD_DEFINITION.name()).build()) |
| 73 | .directiveLocation(newDirectiveLocation().name(ENUM_VALUE.name()).build()) |
| 74 | .directiveLocation(newDirectiveLocation().name(ARGUMENT_DEFINITION.name()).build()) |
| 75 | .directiveLocation(newDirectiveLocation().name(INPUT_FIELD_DEFINITION.name()).build()) |
| 76 | .description(createDescription("Marks the field, argument, input field or enum value as deprecated")) |
| 77 | .inputValueDefinition( |
| 78 | newInputValueDefinition() |
| 79 | .name("reason") |
| 80 | .description(createDescription("The reason for the deprecation")) |
| 81 | .type(newNonNullType(newTypeName().name(STRING).build()).build()) |
| 82 | .defaultValue(StringValue.newStringValue().value(NO_LONGER_SUPPORTED).build()) |
| 83 | .build()) |
| 84 | .build(); |
| 85 | |
| 86 | INCLUDE_DIRECTIVE_DEFINITION = DirectiveDefinition.newDirectiveDefinition() |
| 87 | .name(INCLUDE) |
| 88 | .directiveLocation(newDirectiveLocation().name(FRAGMENT_SPREAD.name()).build()) |
| 89 | .directiveLocation(newDirectiveLocation().name(INLINE_FRAGMENT.name()).build()) |
| 90 | .directiveLocation(newDirectiveLocation().name(FIELD.name()).build()) |
| 91 | .description(createDescription("Directs the executor to include this field or fragment only when the `if` argument is true")) |
| 92 | .inputValueDefinition( |
| 93 | newInputValueDefinition() |
| 94 | .name("if") |
| 95 | .description(createDescription("Included when true.")) |
| 96 | .type(newNonNullType(newTypeName().name(BOOLEAN).build()).build()) |
| 97 | .build()) |
| 98 | .build(); |
| 99 |
nothing calls this directly
no test coverage detected
searching dependent graphs…