![JAR search and dependency download from the Maven repository](/logo.png)
com.barchart.util.enums.ENUMS Maven / Gradle / Ivy
The newest version!
/**
* Copyright (C) 2011-2012 Barchart, Inc.
*
* All rights reserved. Licensed under the OSI BSD License.
*
* http://www.opensource.org/licenses/bsd-license.php
*/
package com.barchart.util.enums;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class ENUMS {
public static final int ENUM_MODS = //
Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL;
public static final boolean isEnumField(final Class> base,
final Field field) {
final int modifiers = field.getModifiers();
final Class> klaz = field.getDeclaringClass();
// System.out.println("klaz " + klaz);
final boolean isAssign = base.isAssignableFrom(klaz);
return (modifiers == ENUMS.ENUM_MODS && isAssign);
}
// System.out.println("@ field.getName() " + field.getName());
// System.out.println("@ klaz " + klaz);
public static String nameFrom(final Class base,
final O instance, final int ordinal) {
final Class> klaz = instance.getClass();
if (base.isAssignableFrom(klaz)) {
final Field[] fieldArray = klaz.getDeclaredFields();
for (final Field field : fieldArray) {
try {
Object value = field.get(instance);
if (value instanceof Ordinal) {
Ordinal ordinalValue = (Ordinal) value;
if (ordinalValue.ordinal() == ordinal) {
return field.getName();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy