List of usage examples for org.apache.commons.lang3.reflect FieldUtils getDeclaredField
public static Field getDeclaredField(final Class<?> cls, final String fieldName, final boolean forceAccess)
From source file:com.garethahealy.jolokiajvmhawkular.core.EmbeddedHawkularMetricsAgent.java
public static void premain(String agentArgs) { CustomJvmAgent.premain(agentArgs);/* w w w. j av a 2 s. co m*/ try { LOG.info("About to load BackendManager..."); Field jolokiaHttpHandlerField = FieldUtils.getDeclaredField(server.getClass(), "jolokiaHttpHandler", true); JolokiaHttpHandler jolokiaHttpHandler = (JolokiaHttpHandler) jolokiaHttpHandlerField.get(server); Field backendManagerField = FieldUtils.getDeclaredField(jolokiaHttpHandler.getClass(), "backendManager", true); BackendManager backendManager = (BackendManager) backendManagerField.get(jolokiaHttpHandler); HawkularClient client = getHawkularClient(); if (client == null) { LOG.error( "HawkularClient is null. Not starting HawkularMetricsService via ScheduledExecutorService."); } else { BasicThreadFactory factory = new BasicThreadFactory.Builder().namingPattern("hawkular-metrics-%d") .daemon(true).priority(Thread.MAX_PRIORITY).build(); ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor(factory); exec.scheduleAtFixedRate( new HawkularMetricsRunnable(new HawkularMetricsService(backendManager, client)), 15, 15, TimeUnit.SECONDS); LOG.info("Started HawkularMetricsService via ScheduledExecutorService."); } } catch (IllegalAccessException e) { LOG.error("{}", e); } }
From source file:me.bird.util.Reflections.java
/** * ?, private/protected, ??getter.//from w ww . j a va 2 s .c o m */ public static Object getFieldValue(final Object obj, final String fieldName) { Field field = FieldUtils.getDeclaredField(obj.getClass(), fieldName, true); if (field == null) { throw new IllegalArgumentException("Could not find field [" + fieldName + "] on target [" + obj + "]"); } Object result = null; try { result = field.get(obj); } catch (IllegalAccessException e) { logger.error("??", e); } return result; }
From source file:com.nortal.petit.beanmapper.BeanMappingReflectionUtils.java
private static void readAnnotations(List<Annotation> l, Class<?> type, String name) { Column ao = getAttributeOverride(type, name); if (ao != null) { l.add(ao);//from www.ja v a 2s .c om } Field field = FieldUtils.getDeclaredField(type, name, true); if (field != null) { addAll(l, field.getAnnotations()); } PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(type, name); if (pd != null) { if (pd.getReadMethod() != null) { addAll(l, pd.getReadMethod().getAnnotations()); } } if (type.getSuperclass() != null) { readAnnotations(l, type.getSuperclass(), name); } }
From source file:com.android.build.gradle.internal.pipeline.InjectTransformManager.java
/** * transformTask?/* ww w .ja va 2 s. c o m*/ * * @param transformTask * @param consumedInputStreams * @param referencedInputStreams * @param outputStream */ private void updateTransformTaskConfig(TransformTask transformTask, @NonNull Collection<TransformStream> consumedInputStreams, @NonNull Collection<TransformStream> referencedInputStreams, @Nullable IntermediateStream outputStream) throws IllegalAccessException { Field consumedInputStreamsField = FieldUtils.getDeclaredField(StreamBasedTask.class, "consumedInputStreams", true); Field referencedInputStreamsField = FieldUtils.getDeclaredField(StreamBasedTask.class, "referencedInputStreams", true); Field outputStreamField = FieldUtils.getDeclaredField(StreamBasedTask.class, "outputStream", true); if (null == consumedInputStreamsField || null == referencedInputStreamsField || null == outputStreamField) { throw new StopExecutionException( "The TransformTask does not has field with name: consumedInputStreams or referencedInputStreams or outputStream! Plugin version does not support!"); } consumedInputStreamsField.set(transformTask, consumedInputStreams); referencedInputStreamsField.set(transformTask, referencedInputStreams); outputStreamField.set(transformTask, outputStream); }
From source file:com.android.build.gradle.internal.pipeline.InjectTransformManager.java
/** * ?transformTask?//from w w w . j av a 2 s . c o m * * @param transformTask * @return * @throws IllegalAccessException */ private TransformTaskParam getTransformParam(TransformTask transformTask) throws IllegalAccessException { TransformTaskParam transformTaskParam = new TransformTaskParam(); Field consumedInputStreamsField = FieldUtils.getDeclaredField(StreamBasedTask.class, "consumedInputStreams", true); Field referencedInputStreamsField = FieldUtils.getDeclaredField(StreamBasedTask.class, "referencedInputStreams", true); Field outputStreamField = FieldUtils.getDeclaredField(StreamBasedTask.class, "outputStream", true); if (null == consumedInputStreamsField || null == referencedInputStreamsField || null == outputStreamField) { throw new StopExecutionException( "The TransformTask does not has field with name: consumedInputStreams or referencedInputStreams or outputStream! Plugin version does not support!"); } transformTaskParam.consumedInputStreams = (Collection<TransformStream>) consumedInputStreamsField .get(transformTask); transformTaskParam.referencedInputStreams = (Collection<TransformStream>) referencedInputStreamsField .get(transformTask); transformTaskParam.outputStream = (IntermediateStream) outputStreamField.get(transformTask); return transformTaskParam; }
From source file:org.bitbucket.mlopatkin.android.liblogcat.ddmlib.AdbConnectionManager.java
private static boolean isReady(AndroidDebugBridge adb) throws DdmlibUnsupportedException { if (adb == null) { return false; }/*from w ww . j a va 2s. c om*/ // hack below - there is no explicit way to check if the bridge was // created succesfully try { return (Boolean) FieldUtils .readField(FieldUtils.getDeclaredField(AndroidDebugBridge.class, "mStarted", true), adb, true); } catch (IllegalAccessException e) { logger.fatal("The DDMLIB is unsupported", e); throw new DdmlibUnsupportedException("The DDMLIB supplied is unsupported: " + System.getenv("DDMLIB")); } }
From source file:org.gerzog.spock.injectmock.internal.accessors.FieldAccessor.java
@Override public boolean exists(final Class<?> clazz, final String name, final Class<?> type) { final Field field = FieldUtils.getDeclaredField(clazz, name, true); boolean result = field != null; if ((field != null) && !field.getType().isAssignableFrom(type)) { result = false;// w w w. j a va2 s . c o m } return result; }
From source file:org.xwiki.job.internal.xstream.SafeTreeUnmarshaller.java
@Override protected Object convert(Object parent, Class type, Converter converter) { try {/*from ww w. j av a2 s . c om*/ return super.convert(parent, type, converter); } catch (Throwable e) { FastStack types; try { types = (FastStack) FieldUtils.getDeclaredField(TreeUnmarshaller.class, "types", true).get(this); types.popSilently(); } catch (Exception e1) { // Should never happen LOGGER.debug("Failed to access private field com.thoughtworks.xstream.core.TreeUnmarshaller#types", type, e1); } LOGGER.debug("Got unknown exception when converting object of type [{}]", type, e); } return null; }