Skip to content

Commit c9030fb

Browse files
committed
remove directiveannotation and merge with graphqldirectivedefinition
1 parent 05b5ee5 commit c9030fb

File tree

18 files changed

+77
-67
lines changed

18 files changed

+77
-67
lines changed

src/main/java/graphql/annotations/directives/Directive.java renamed to src/main/java/graphql/annotations/annotationTypes/directives/activation/Directive.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,17 @@
1212
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1313
* See the License for the specific language governing permissions and
1414
*/
15-
package graphql.annotations.directives;
15+
package graphql.annotations.annotationTypes.directives.activation;
1616

1717
import java.lang.annotation.ElementType;
1818
import java.lang.annotation.Retention;
1919
import java.lang.annotation.RetentionPolicy;
2020
import java.lang.annotation.Target;
2121

22+
23+
/**
24+
* A way of activating a graphql directive - put this annotation on top of the graphql field/argument and determine which directive you wish to use
25+
*/
2226
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
2327
@Retention(RetentionPolicy.RUNTIME)
2428
public @interface Directive {

src/main/java/graphql/annotations/annotationTypes/GraphQLDirectives.java renamed to src/main/java/graphql/annotations/annotationTypes/directives/activation/GraphQLDirectives.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@
1212
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1313
* See the License for the specific language governing permissions and
1414
*/
15-
package graphql.annotations.annotationTypes;
16-
17-
import graphql.annotations.directives.Directive;
15+
package graphql.annotations.annotationTypes.directives.activation;
1816

1917
import java.lang.annotation.ElementType;
2018
import java.lang.annotation.Retention;
2119
import java.lang.annotation.RetentionPolicy;
2220
import java.lang.annotation.Target;
2321

22+
/**
23+
* Put in on a graphql field / other graphql type in order to activate directives on it
24+
*/
25+
2426
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
2527
@Retention(RetentionPolicy.RUNTIME)
2628
public @interface GraphQLDirectives {

src/main/java/graphql/annotations/directives/creation/DirectiveLocations.java renamed to src/main/java/graphql/annotations/annotationTypes/directives/definition/DirectiveLocations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1313
* See the License for the specific language governing permissions and
1414
*/
15-
package graphql.annotations.directives.creation;
15+
package graphql.annotations.annotationTypes.directives.definition;
1616

1717
import graphql.introspection.Introspection;
1818

src/main/java/graphql/annotations/directives/creation/DirectiveWiring.java renamed to src/main/java/graphql/annotations/annotationTypes/directives/definition/DirectiveWiring.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package graphql.annotations.directives.creation;
1+
package graphql.annotations.annotationTypes.directives.definition;
22

33
import graphql.annotations.directives.AnnotationsDirectiveWiring;
44
import graphql.introspection.Introspection;

src/main/java/graphql/annotations/annotationTypes/GraphQLDirectiveDefinition.java renamed to src/main/java/graphql/annotations/annotationTypes/directives/definition/GraphQLDirectiveDefinition.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package graphql.annotations.annotationTypes;
1+
package graphql.annotations.annotationTypes.directives.definition;
22

33
import graphql.annotations.directives.AnnotationsDirectiveWiring;
44

@@ -7,7 +7,11 @@
77
import java.lang.annotation.RetentionPolicy;
88
import java.lang.annotation.Target;
99

10-
@Target({ElementType.METHOD})
10+
11+
/**
12+
* You should put this annotation on top of a directive method you created, or a directive java annotation you created
13+
*/
14+
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
1115
@Retention(RetentionPolicy.RUNTIME)
1216
public @interface GraphQLDirectiveDefinition {
1317
Class<? extends AnnotationsDirectiveWiring> wiring();

src/main/java/graphql/annotations/directives/DirectiveWiringMapRetriever.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515
package graphql.annotations.directives;
1616

17-
import graphql.annotations.annotationTypes.GraphQLDirectives;
17+
import graphql.annotations.annotationTypes.directives.activation.GraphQLDirectives;
1818
import graphql.annotations.processor.DirectiveAndWiring;
1919
import graphql.annotations.processor.ProcessingElementsContainer;
2020
import graphql.annotations.processor.exceptions.GraphQLAnnotationsException;

src/main/java/graphql/annotations/directives/creation/DirectiveAnnotation.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/main/java/graphql/annotations/processor/GraphQLAnnotations.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414
*/
1515
package graphql.annotations.processor;
1616

17-
import graphql.annotations.annotationTypes.GraphQLDirectiveDefinition;
17+
import graphql.annotations.annotationTypes.directives.definition.GraphQLDirectiveDefinition;
1818
import graphql.annotations.annotationTypes.GraphQLName;
19-
import graphql.annotations.directives.creation.DirectiveAnnotation;
20-
import graphql.annotations.directives.creation.DirectiveWiring;
19+
import graphql.annotations.annotationTypes.directives.definition.DirectiveWiring;
2120
import graphql.annotations.processor.directives.CommonPropertiesCreator;
2221
import graphql.annotations.processor.directives.DirectiveArgumentCreator;
2322
import graphql.annotations.processor.directives.DirectiveCreator;
@@ -162,11 +161,11 @@ public GraphQLDirective directive(Class<?> object) throws GraphQLAnnotationsExce
162161
public GraphQLDirective directiveViaAnnotation(Class<?> annotationClass) {
163162
try {
164163
GraphQLDirective directive = this.directiveCreator.getDirective(annotationClass);
165-
DirectiveAnnotation annotation = annotationClass.getAnnotation(DirectiveAnnotation.class);
164+
GraphQLDirectiveDefinition annotation = annotationClass.getAnnotation(GraphQLDirectiveDefinition.class);
166165
if (annotation==null){
167166
throw new GraphQLAnnotationsException(String.format("No wiring is provided to directive class %s", annotationClass.getSimpleName()), null);
168167
}
169-
this.getContainer().getDirectiveRegistry().put(directive.getName(), new DirectiveAndWiring(directive, annotation.value()));
168+
this.getContainer().getDirectiveRegistry().put(directive.getName(), new DirectiveAndWiring(directive, annotation.wiring()));
170169
return directive;
171170
} catch (GraphQLAnnotationsException e) {
172171
this.getContainer().getProcessing().clear();

src/main/java/graphql/annotations/processor/directives/DirectiveCreator.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414
*/
1515
package graphql.annotations.processor.directives;
1616

17-
import graphql.annotations.annotationTypes.GraphQLDirectiveDefinition;
17+
import graphql.annotations.annotationTypes.directives.definition.GraphQLDirectiveDefinition;
1818
import graphql.annotations.directives.AnnotationsDirectiveWiring;
19-
import graphql.annotations.directives.creation.DirectiveAnnotation;
20-
import graphql.annotations.directives.creation.DirectiveLocations;
19+
import graphql.annotations.annotationTypes.directives.definition.DirectiveLocations;
2120
import graphql.annotations.processor.DirectiveAndWiring;
2221
import graphql.annotations.processor.exceptions.GraphQLAnnotationsException;
2322
import graphql.introspection.Introspection;
@@ -74,7 +73,7 @@ public DirectiveAndWiring getDirective(Method directiveMethod){
7473
}
7574

7675
private void buildArguments(GraphQLDirective.Builder builder, Class<?> annotatedClass) {
77-
if (annotatedClass.isAnnotationPresent(DirectiveAnnotation.class)){
76+
if (annotatedClass.isAnnotationPresent(GraphQLDirectiveDefinition.class)){
7877
Arrays.stream(annotatedClass.getDeclaredMethods())
7978
.filter(method -> !method.isSynthetic())
8079
.forEach(method -> builder.argument(directiveArgumentCreator.getArgument(method)));

src/main/java/graphql/annotations/processor/retrievers/fieldBuilders/DirectivesBuilder.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,16 @@
1414
*/
1515
package graphql.annotations.processor.retrievers.fieldBuilders;
1616

17-
import graphql.annotations.annotationTypes.GraphQLDirectives;
18-
import graphql.annotations.annotationTypes.GraphQLName;
19-
import graphql.annotations.directives.creation.DirectiveAnnotation;
17+
import graphql.annotations.annotationTypes.directives.activation.GraphQLDirectives;
2018
import graphql.annotations.processor.ProcessingElementsContainer;
2119
import graphql.annotations.processor.exceptions.GraphQLAnnotationsException;
22-
import graphql.annotations.processor.retrievers.fieldBuilders.field.FieldNameBuilder;
2320
import graphql.annotations.processor.util.DirectiveJavaAnnotationUtil;
2421
import graphql.schema.GraphQLArgument;
2522
import graphql.schema.GraphQLDirective;
2623
import graphql.schema.GraphQLScalarType;
2724

2825
import java.lang.annotation.Annotation;
2926
import java.lang.reflect.AnnotatedElement;
30-
import java.lang.reflect.InvocationTargetException;
3127
import java.lang.reflect.Method;
3228
import java.util.ArrayList;
3329
import java.util.Arrays;

0 commit comments

Comments
 (0)