appenderMap = loggerConfig.getAppenders();
+ for (String appenderName : appenderMap.keySet()) {
+ Appender newAppender = null;
+ Appender oldAppender = appenderMap.get(appenderName);
+
+ // there should be a better way to do this - a toBuilder() method on the appender would be
+ // really useful
+ if (oldAppender instanceof ConsoleAppender) {
+ newAppender = ConsoleAppender.newBuilder().setName(appenderName).setConfiguration(config)
+ .setLayout(layout).build();
+ } else if (oldAppender instanceof FileAppender) {
+ newAppender = FileAppender.newBuilder().setName(appenderName).setConfiguration(config)
+ .withFileName(((FileAppender) oldAppender).getFileName()).setLayout(layout).build();
+ }
+ if (newAppender != null) {
+ newAppender.start();
+ loggerConfig.removeAppender(appenderName);
+ loggerConfig.addAppender(newAppender, null, null);
+ }
+ }
+ }
+ loggerContext.updateLoggers();
+ }
+
+ /**
+ * Sets the levels of parentLogger and all 'child' loggers to the given
+ * level. This is simply a call to
+ *
+ *
+ * Configurator.setAllLevels(parentLogger, level)
+ *
+ *
+ * @param parentLogger
+ * @param level
+ */
+ public void setLevel(String parentLogger, Level level) {
+ Configurator.setAllLevels(parentLogger, level);
+ }
+
+ /**
+ * Set all logger levels. This is simply a call to
+ *
+ *
+ * setLevel(LogManager.getRootLogger().getName(), level)
+ *
+ *
+ * @param level
+ */
+ public void setLevel(Level level) {
+ setLevel(LogManager.getRootLogger().getName(), level);
+ }
+
+}
diff --git a/demo/src/main/java/jackfruit/demo/SomeRandomClass.java b/demo/src/main/java/jackfruit/demo/SomeRandomClass.java
index 56ea285..e6f573b 100644
--- a/demo/src/main/java/jackfruit/demo/SomeRandomClass.java
+++ b/demo/src/main/java/jackfruit/demo/SomeRandomClass.java
@@ -2,7 +2,7 @@ package jackfruit.demo;
public class SomeRandomClass {
- private String internalString;
+ private final String internalString;
public String getInternalString() {
return internalString;
diff --git a/demo/src/test/java/jackfruit/demo/TestProcessor.java b/demo/src/test/java/jackfruit/demo/TestProcessor.java
index adf3738..2f90b80 100644
--- a/demo/src/test/java/jackfruit/demo/TestProcessor.java
+++ b/demo/src/test/java/jackfruit/demo/TestProcessor.java
@@ -1,9 +1,11 @@
package jackfruit.demo;
+import crucible.crust.logging.Log4j2Configurator;
+import jackfruit.processor.ConfigProcessor;
import java.io.File;
import java.io.PrintWriter;
-import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
import java.util.Set;
import javax.tools.JavaCompiler;
import javax.tools.JavaCompiler.CompilationTask;
@@ -13,8 +15,6 @@ import javax.tools.StandardJavaFileManager;
import javax.tools.StandardLocation;
import javax.tools.ToolProvider;
import org.junit.Test;
-import crucible.crust.logging.Log4j2Configurator;
-import jackfruit.processor.ConfigProcessor;
/**
* From fileKinds = Collections.singleton(Kind.SOURCE);
return files.list(StandardLocation.SOURCE_PATH, "", fileKinds, true);
diff --git a/jackfruit/pom.xml b/jackfruit/pom.xml
index 3d1ed10..7ba46e4 100644
--- a/jackfruit/pom.xml
+++ b/jackfruit/pom.xml
@@ -30,17 +30,11 @@
3.10.1
- 2.19.0
+ 2.20.0
2.9.2
-
- junit
- junit
- 4.11
- test
-
com.google.auto.service
auto-service
diff --git a/jackfruit/src/main/bash/createVersionFile.bash b/jackfruit/src/main/bash/createVersionFile.bash
index 3aa4238..f16ca14 100755
--- a/jackfruit/src/main/bash/createVersionFile.bash
+++ b/jackfruit/src/main/bash/createVersionFile.bash
@@ -2,23 +2,29 @@
# This script is run from maven. See the exec-maven-plugin block in the pom.xml file.
-cd $(dirname $0)
+package=jackfruit
+srcFile="../java/jackfruit/JackfruitVersion.java"
-rev=$(git rev-parse --verify --short=8 HEAD)
-if [ $? -gt 0 ]; then
- rev="UNKNOWN"
-fi
-
-branch=$(git symbolic-ref --short HEAD)
-if [ $? -gt 0 ]; then
- branch="UNKNOWN"
-fi
+cd $(dirname "$0")
date=$(date -u +"%y.%m.%d")
-package=jackfruit
-srcFile="../java/jackfruit/JackfruitVersion.java"
-mkdir -p $(dirname $srcFile)
+rev=$(git rev-parse --verify --short HEAD)
+if [ $? -gt 0 ]; then
+ lastCommit=$(date -u +"%y.%m.%d")
+ rev="UNVERSIONED"
+else
+ lastCommit=$(git log -1 --format=%cd --date=format:%y.%m.%d)
+ rev=$(git rev-parse --verify --short HEAD)
+
+ if [[ $(git diff --stat) != '' ]]; then
+ if [[ $(git status -s | grep -v pom.xml | grep -v pom.bak | grep -v .m2 | grep -v $srcFile) != '' ]]; then
+ rev=${rev}M
+ fi
+ fi
+fi
+
+mkdir -p $(dirname "$srcFile")
touch $srcFile
@@ -27,10 +33,11 @@ cat < $srcFile
package jackfruit;
public class JackfruitVersion {
- public final static String rev = new String("$rev");
- public final static String packageName = new String("$package");
- public final static String dateString = new String("$date");
- public final static String branch = new String("$branch");
+ public final static String lastCommit = "$lastCommit";
+ // an M at the end of gitRevision means this was built from a "dirty" git repository
+ public final static String rev = "$rev";
+ public final static String packageName = "$package";
+ public final static String dateString = "$date";
}
EOF
diff --git a/jackfruit/src/main/java/jackfruit/JackfruitVersion.java b/jackfruit/src/main/java/jackfruit/JackfruitVersion.java
index 896b8e9..395f2c0 100644
--- a/jackfruit/src/main/java/jackfruit/JackfruitVersion.java
+++ b/jackfruit/src/main/java/jackfruit/JackfruitVersion.java
@@ -2,9 +2,10 @@
package jackfruit;
public class JackfruitVersion {
- public final static String rev = new String("9ad69b62");
- public final static String packageName = new String("jackfruit");
- public final static String dateString = new String("22.11.27");
- public final static String branch = new String("UNKNOWN");
+ public final static String lastCommit = "23.03.29";
+ // an M at the end of gitRevision means this was built from a "dirty" git repository
+ public final static String rev = "b200487M";
+ public final static String packageName = "jackfruit";
+ public final static String dateString = "23.03.29";
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/Comment.java b/jackfruit/src/main/java/jackfruit/annotations/Comment.java
index 4dd14da..33c2820 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/Comment.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/Comment.java
@@ -15,5 +15,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.METHOD)
public @interface Comment {
- public String value() default "";
+ String value() default "";
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/DefaultValue.java b/jackfruit/src/main/java/jackfruit/annotations/DefaultValue.java
index a282e96..ab5dd23 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/DefaultValue.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/DefaultValue.java
@@ -19,5 +19,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.METHOD)
public @interface DefaultValue {
- public String value() default "";
+ String value() default "";
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/Jackfruit.java b/jackfruit/src/main/java/jackfruit/annotations/Jackfruit.java
index df5aeca..7527c2d 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/Jackfruit.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/Jackfruit.java
@@ -21,5 +21,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Jackfruit {
- public String prefix() default "";
+ String prefix() default "";
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/Key.java b/jackfruit/src/main/java/jackfruit/annotations/Key.java
index c1822ac..4e33761 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/Key.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/Key.java
@@ -15,5 +15,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.METHOD)
public @interface Key {
- public String value() default "";
+ String value() default "";
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/Parser.java b/jackfruit/src/main/java/jackfruit/annotations/Parser.java
index ea43d51..00a6918 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/Parser.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/Parser.java
@@ -8,7 +8,7 @@ package jackfruit.annotations;
* @param
*/
public interface Parser {
- public T fromString(String s);
+ T fromString(String s);
- public String toString(T t);
+ String toString(T t);
}
diff --git a/jackfruit/src/main/java/jackfruit/annotations/ParserClass.java b/jackfruit/src/main/java/jackfruit/annotations/ParserClass.java
index 5ba95fa..40cf284 100644
--- a/jackfruit/src/main/java/jackfruit/annotations/ParserClass.java
+++ b/jackfruit/src/main/java/jackfruit/annotations/ParserClass.java
@@ -15,5 +15,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.METHOD)
public @interface ParserClass {
- public Class> value();
+ Class> value();
}
diff --git a/jackfruit/src/main/java/jackfruit/processor/AnnotationBundle.java b/jackfruit/src/main/java/jackfruit/processor/AnnotationBundle.java
index 3bdabb2..658e40a 100644
--- a/jackfruit/src/main/java/jackfruit/processor/AnnotationBundle.java
+++ b/jackfruit/src/main/java/jackfruit/processor/AnnotationBundle.java
@@ -1,64 +1,51 @@
package jackfruit.processor;
+import jackfruit.annotations.Parser;
import java.util.List;
import java.util.Optional;
import javax.lang.model.type.TypeMirror;
import org.immutables.value.Value;
-import jackfruit.annotations.Parser;
/**
* Holds annotation information and other metadata about an annotated method.
- *
- * @author nairah1
*
+ * @author nairah1
*/
@Value.Immutable
public abstract class AnnotationBundle {
/**
- *
* @return the return type of this method without any parameters (e.g. return List rather than
- * List<String>)
+ * List<String>)
*/
public abstract TypeMirror erasure();
/**
- *
* @return the parameterized types, if any of this method (e.g. return String if the annotated
- * method returns List<String>)
+ * method returns List<String>)
*/
public abstract List typeArgs();
/**
- * Comment for this configuration parameter. This can be blank.
- *
- * @return
+ * @return Comment for this configuration parameter. This can be blank.
*/
public abstract String comment();
/**
- * Default value for this configuration parameter. This is required.
- *
- * @return
+ * @return Default value for this configuration parameter. This is required.
*/
public abstract String defaultValue();
/**
- * Key used in the configuration file. If omitted, default value is the name of the configuration
- * parameter (the method name).
- *
- * @return
+ * @return Key used in the configuration file. If omitted, default value is the name of the
+ * configuration parameter (the method name).
*/
public abstract String key();
/**
- * If this configuration parameter is not a string or primitive/boxed type, this class will
- * convert the string to the proper object and vice versa. This class must implement
- * {@link Parser}.
- *
- * @return
+ * @return If this configuration parameter is not a string or primitive/boxed type, this class
+ * will convert the string to the proper object and vice versa. This class must implement
+ * {@link Parser}.
*/
public abstract Optional parserClass();
-
-
}
diff --git a/jackfruit/src/main/java/jackfruit/processor/ConfigFactory.java b/jackfruit/src/main/java/jackfruit/processor/ConfigFactory.java
index b04a425..c15075f 100644
--- a/jackfruit/src/main/java/jackfruit/processor/ConfigFactory.java
+++ b/jackfruit/src/main/java/jackfruit/processor/ConfigFactory.java
@@ -7,47 +7,38 @@ import org.apache.commons.configuration2.PropertiesConfigurationLayout;
/**
* This interface converts instances of annotated interfaces of type T to Apache Commons
* Configuration files and vice versa.
- *
- * @author nairah1
*
+ * @author nairah1
* @param
*/
public interface ConfigFactory {
/**
- * This returns an object of type T with default values.
- *
- * @return
+ * @return This returns an object of type T with default values.
*/
T getTemplate();
/**
- * This creates an object of type T from the supplied Apache Commons {@link Configuration}.
- *
- * @param config
- * @return
+ * @param config configuration to turn into an object of type T
+ * @return an object of type T from the supplied Apache Commons {@link Configuration}.
*/
T fromConfig(Configuration config);
/**
- * This creates an Apache Commons {@link PropertiesConfiguration} from the supplied object T.
- *
- * @param t
+ * @param t object to convert to a configuration
* @param layout used for formatting the returned PropertiesConfiguration
- * @return
+ * @return an Apache Commons {@link PropertiesConfiguration} from the supplied object T.
*/
PropertiesConfiguration toConfig(T t, PropertiesConfigurationLayout layout);
/**
- * This creates an Apache Commons {@link PropertiesConfiguration} from the supplied object T. This
- * is simply a call to {@link #toConfig(Object, PropertiesConfigurationLayout)} with a new
+ * This is simply a call to {@link #toConfig(Object, PropertiesConfigurationLayout)} with a new
* PropertiesConfigurationLayout().
- *
- * @param t
- * @return
+ *
+ * @param t object to convert to a configuration
+ * @return an Apache Commons {@link PropertiesConfiguration} from the supplied object T.
*/
default PropertiesConfiguration toConfig(T t) {
return toConfig(t, new PropertiesConfigurationLayout());
}
-
}
diff --git a/jackfruit/src/main/java/jackfruit/processor/ConfigProcessor.java b/jackfruit/src/main/java/jackfruit/processor/ConfigProcessor.java
index 632a424..b87f130 100644
--- a/jackfruit/src/main/java/jackfruit/processor/ConfigProcessor.java
+++ b/jackfruit/src/main/java/jackfruit/processor/ConfigProcessor.java
@@ -95,10 +95,9 @@ public class ConfigProcessor extends AbstractProcessor {
for (Element element : annotatedElements) {
try {
- if (element instanceof TypeElement) {
- TypeElement annotatedType = (TypeElement) element;
+ if (element instanceof TypeElement annotatedType) {
- Jackfruit configParams = (Jackfruit) annotatedType.getAnnotation(Jackfruit.class);
+ Jackfruit configParams = annotatedType.getAnnotation(Jackfruit.class);
String prefix = configParams.prefix().strip();
if (prefix.length() > 0 && !prefix.endsWith("."))
prefix += ".";
@@ -161,9 +160,9 @@ public class ConfigProcessor extends AbstractProcessor {
Map defaultAnnotationsMap = new LinkedHashMap<>();
for (DeclaredType thisType : classHierarchy) {
for (Element e : thisType.asElement().getEnclosedElements()) {
- if (e.getKind() == ElementKind.METHOD && e.getAnnotation(DefaultValue.class) != null
- && e instanceof ExecutableElement) {
- ExecutableElement ex = (ExecutableElement) e;
+ if (e.getKind() == ElementKind.METHOD
+ && e.getAnnotation(DefaultValue.class) != null
+ && e instanceof ExecutableElement ex) {
enclosedMethods.put(ex.getSimpleName(), ex);
AnnotationBundle defaultValues = defaultAnnotationsMap.get(ex.getSimpleName());
defaultAnnotationsMap.put(ex.getSimpleName(),
@@ -301,8 +300,7 @@ public class ConfigProcessor extends AbstractProcessor {
builder.comment(((Comment) annotation).value());
} else if (annotation instanceof DefaultValue) {
builder.defaultValue(((DefaultValue) annotation).value());
- } else if (annotation instanceof ParserClass) {
- ParserClass pc = (ParserClass) annotation;
+ } else if (annotation instanceof ParserClass pc) {
// this works, but there has to be a better way?
TypeMirror tm;
@@ -334,7 +332,7 @@ public class ConfigProcessor extends AbstractProcessor {
* @param tvn
* @param m
* @param annotationsMap
- * @param prefix
+ * @param prefixMemberName
* @return
*/
private MethodSpec buildToConfig(TypeVariableName tvn, Method m,
@@ -554,6 +552,12 @@ public class ConfigProcessor extends AbstractProcessor {
.addModifiers(Modifier.PUBLIC).addAnnotation(Override.class)
.returns(TypeName.get(method.getReturnType())).addJavadoc(bundle.comment());
+ builder.addStatement("String key = $N + $S", prefix, bundle.key());
+ builder
+ .beginControlFlow("if (!config.containsKey(key))")
+ .addStatement("throw new $T($S + key)", RuntimeException.class, "No such key")
+ .endControlFlow();
+
TypeMirror parser = null;
String parserName = null;
if (bundle.parserClass().isPresent()) {
@@ -570,8 +574,7 @@ public class ConfigProcessor extends AbstractProcessor {
ParameterizedTypeName.get(ClassName.get(java.util.ArrayList.class), argType);
String listName = method.getSimpleName() + "List";
builder.addStatement("$T " + listName + " = new $T()", listType, arrayListType);
- builder.addStatement("String [] parts = config.getStringArray($N + $S)", prefix,
- bundle.key());
+ builder.addStatement("String [] parts = config.getStringArray(key)");
builder.beginControlFlow("for (String part : parts)");
builder.beginControlFlow("if (part.trim().length() > 0)");
if (bundle.parserClass().isPresent()) {
@@ -600,25 +603,24 @@ public class ConfigProcessor extends AbstractProcessor {
builder.addStatement("return $L", listName);
} else {
if (bundle.parserClass().isPresent()) {
- builder.addStatement("return $L.fromString(config.getString($N + $S))", parserName,
- prefix, bundle.key());
+ builder.addStatement("return $L.fromString(config.getString(key))", parserName);
} else {
if (ConfigProcessorUtils.isBoolean(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getBoolean($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getBoolean(key)");
} else if (ConfigProcessorUtils.isByte(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getByte($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getByte(key)");
} else if (ConfigProcessorUtils.isDouble(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getDouble($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getDouble(key)");
} else if (ConfigProcessorUtils.isFloat(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getFloat($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getFloat(key)");
} else if (ConfigProcessorUtils.isInteger(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getInt($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getInt(key)");
} else if (ConfigProcessorUtils.isLong(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getLong($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getLong(key)");
} else if (ConfigProcessorUtils.isShort(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getShort($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getShort(key)");
} else if (ConfigProcessorUtils.isString(bundle.erasure(), processingEnv)) {
- builder.addStatement("return config.getString($N + $S)", prefix, bundle.key());
+ builder.addStatement("return config.getString(key)");
} else {
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
"Can't handle return type " + m.getReturnType().getCanonicalName());
diff --git a/jackfruit/src/main/java/jackfruit/processor/ConfigProcessorUtils.java b/jackfruit/src/main/java/jackfruit/processor/ConfigProcessorUtils.java
index 1744a42..c773ed7 100644
--- a/jackfruit/src/main/java/jackfruit/processor/ConfigProcessorUtils.java
+++ b/jackfruit/src/main/java/jackfruit/processor/ConfigProcessorUtils.java
@@ -10,123 +10,114 @@ import javax.tools.Diagnostic;
public class ConfigProcessorUtils {
/**
- *
* @param processingEnv
* @return true if this annotated member returns a {@link List}
*/
- public final static boolean isList(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isList(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.util.List.class);
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Boolean} or primitive boolean
*/
- public final static boolean isBoolean(TypeMirror typeMirror,
- ProcessingEnvironment processingEnv) {
+ public static boolean isBoolean(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Boolean.class)
|| typeMirror.getKind() == TypeKind.BOOLEAN;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Byte} or primitive byte
*/
- public final static boolean isByte(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isByte(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Byte.class)
|| typeMirror.getKind() == TypeKind.BYTE;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Double} or primitive double
*/
- public final static boolean isDouble(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isDouble(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Double.class)
|| typeMirror.getKind() == TypeKind.DOUBLE;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Float} or primitive float
*/
- public final static boolean isFloat(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isFloat(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Float.class)
|| typeMirror.getKind() == TypeKind.FLOAT;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Integer} or primitive int
*/
- public final static boolean isInteger(TypeMirror typeMirror,
- ProcessingEnvironment processingEnv) {
+ public static boolean isInteger(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Integer.class)
|| typeMirror.getKind() == TypeKind.INT;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Long} or primitive long
*/
- public final static boolean isLong(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isLong(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Long.class)
|| typeMirror.getKind() == TypeKind.LONG;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link Short} or primitive float
*/
- public final static boolean isShort(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isShort(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.Short.class)
|| typeMirror.getKind() == TypeKind.SHORT;
}
/**
- *
- * @param typeMirror either {@link #erasure()} for the return value, or an element of
- * {@link #typeArgs()} for a parameterized type
+ * @param typeMirror either {@link AnnotationBundle#erasure()} for the return value, or an element of {@link
+ * AnnotationBundle#typeArgs()} for a parameterized type
* @param processingEnv
* @return true if this annotated member returns a {@link String}
*/
- public final static boolean isString(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
+ public static boolean isString(TypeMirror typeMirror, ProcessingEnvironment processingEnv) {
return isClass(typeMirror, processingEnv, java.lang.String.class);
}
- private final static boolean isClass(TypeMirror typeMirror, ProcessingEnvironment processingEnv,
- Class> compareTo) {
+ private static boolean isClass(
+ TypeMirror typeMirror, ProcessingEnvironment processingEnv, Class> compareTo) {
Elements elements = processingEnv.getElementUtils();
Types types = processingEnv.getTypeUtils();
if (elements.getTypeElement(compareTo.getCanonicalName()) == null) {
- processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
- String.format("Cannot recognize %s\n", compareTo.getCanonicalName()));
+ processingEnv
+ .getMessager()
+ .printMessage(
+ Diagnostic.Kind.ERROR,
+ String.format("Cannot recognize %s\n", compareTo.getCanonicalName()));
}
- return types.isSubtype(typeMirror,
- types.erasure(elements.getTypeElement(compareTo.getCanonicalName()).asType()));
+ return types.isSubtype(
+ typeMirror, types.erasure(elements.getTypeElement(compareTo.getCanonicalName()).asType()));
}
-
}
diff --git a/pom.xml b/pom.xml
index 72972be..d46445e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
junit
junit
- 4.11
+ 4.13.2
test