public static Optional getField()

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();
    }
  }