in vandelay-core/src/main/java/com/spotify/api/vandelay/core/util/Reflected.java [30:43]
public static <T> Optional<T> getField(
final Object targetObj,
final Class<?> targetObjClass,
final String fieldName,
final Class<?> fieldClass) {
try {
final var handle =
MethodHandles.privateLookupIn(targetObjClass, MethodHandles.lookup())
.findVarHandle(targetObjClass, fieldName, fieldClass);
return Optional.of((T) handle.get(targetObj));
} catch (IllegalAccessException | NoSuchFieldException ex) {
return Optional.empty();
}
}