devutility.internal.lang.reflect.FieldUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of devutility.internal Show documentation
Show all versions of devutility.internal Show documentation
Some utilities for Java development
package devutility.internal.lang.reflect;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
import devutility.internal.annotations.Order;
import devutility.internal.util.CollectionUtils;
public class FieldUtils {
/**
* Field whether contains annotations?
* @param field: Field object
* @param annotations: Annotations want to check.
* @return boolean
*/
public static boolean contain(Field field, List annotations) {
if (field == null || CollectionUtils.isNullOrEmpty(annotations)) {
return false;
}
List fieldAnnotations = Arrays.asList(field.getAnnotations());
return CollectionUtils.exist(annotations, i -> fieldAnnotations.contains(i));
}
/**
* Return Order value by provided Field object. 0 if no Order setting.
* @param field Field object.
* @return int
*/
public static int getOrder(Field field) {
Order order = field.getAnnotation(Order.class);
if (order == null) {
return 0;
}
return order.value();
}
}