Skip to content

Commit 56e885a

Browse files
authored
GH-1039 Add field scan for PermissionDocs like in VanishPermissionConstant (#1039)
1 parent 3e56988 commit 56e885a

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishPermissionConstant.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
import com.eternalcode.annotations.scan.permission.PermissionDocs;
44

5-
@PermissionDocs(
6-
name = "Vanish tabulation",
7-
permission = VanishPermissionConstant.VANISH_SEE_TABULATION_PERMISSION,
8-
description = "Allows the player to see vanished players in tabulation."
9-
)
105
public class VanishPermissionConstant {
116

7+
@PermissionDocs(
8+
name = "Vanish tabulation",
9+
permission = VanishPermissionConstant.VANISH_SEE_TABULATION_PERMISSION,
10+
description = "Allows the player to see vanished players in tabulation."
11+
)
1212
public static final String VANISH_SEE_TABULATION_PERMISSION = "eternalcore.vanish.tabulation.see";
1313
}

eternalcore-docs-api/src/main/java/com/eternalcode/annotations/scan/SingleAnnotationScanResolver.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.eternalcode.annotations.scan;
22

33
import java.lang.annotation.Annotation;
4+
import java.lang.reflect.Field;
45
import java.lang.reflect.Method;
56
import java.util.ArrayList;
67
import java.util.List;
@@ -44,6 +45,14 @@ private List<A> scanForAnnotations(Class<?> classToScan, Class<A> annotationClas
4445
}
4546
}
4647

48+
for (Field field : classToScan.getDeclaredFields()) {
49+
A fieldAnnotation = field.getAnnotation(annotationClass);
50+
51+
if (fieldAnnotation != null) {
52+
annotations.add(fieldAnnotation);
53+
}
54+
}
55+
4756
return annotations;
4857
}
4958

eternalcore-docs-api/src/main/java/com/eternalcode/annotations/scan/permission/PermissionDocs.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import java.lang.annotation.Target;
77

88
@Retention(RetentionPolicy.RUNTIME)
9-
@Target({ ElementType.TYPE, ElementType.METHOD })
9+
@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
1010
public @interface PermissionDocs {
1111

1212
String name() default "";

0 commit comments

Comments
 (0)