package openmods.reflection;
import com.google.common.base.Throwables;
import java.lang.reflect.Field;
public class FieldAccessHelpers {
public static int getIntField(final Class<?> klazz, Object target, String field) {
return FieldAccessHelpers.getField(klazz, target, field, -1);
}
public static boolean getBooleanField(final Class<?> klazz, Object target, String field) {
return FieldAccessHelpers.getField(klazz, target, field, false);
}
public static byte getByteField(final Class<?> klazz, Object target, String field) {
return FieldAccessHelpers.getField(klazz, target, field, (byte)-1);
}
@SuppressWarnings("unchecked")
public static <T> T getField(final Class<?> klazz, Object target, String field, T defaultValue) {
try {
Field f = ReflectionHelper.getField(klazz, field);
Object o = f.get(target);
if (o != null) return (T)o;
} catch (Throwable t) {
throw Throwables.propagate(t);
}
return defaultValue;
}
}