List of usage examples for org.springframework.util ReflectionUtils getField
@Nullable public static Object getField(Field field, @Nullable Object target)
From source file:org.finra.herd.service.activiti.HerdCommandInvoker.java
/** * Gets the JobEntity from the given ExecuteAsyncJobCmd. * * @param executeAsyncJobCmd The ExecuteAsyncJobCmd * * @return The JobEntity/* w w w .j a v a 2 s .c o m*/ */ private JobEntity getJobEntity(ExecuteAsyncJobCmd executeAsyncJobCmd) { /* * Unfortunately, ExecuteAsyncJobCmd does not provide an accessible method to get the JobEntity stored within it. * We use reflection to force the value out of the object. * Also, we cannot simply get the entity and update it. We must retrieve it through the entity manager so it registers in Activiti's persistent object * cache. This way when the transaction commits, Activiti is aware of any changes in the JobEntity and persists them correctly. */ try { Field field = ExecuteAsyncJobCmd.class.getDeclaredField("job"); ReflectionUtils.makeAccessible(field); String jobId = ((JobEntity) ReflectionUtils.getField(field, executeAsyncJobCmd)).getId(); return Context.getCommandContext().getJobEntityManager().findJobById(jobId); } catch (NoSuchFieldException | SecurityException e) { /* * This exception should not happen. */ throw new IllegalStateException(e); } }
From source file:org.lexevs.cache.AbstractMethodCachingBean.java
protected String getArgumentKey(Object argument, ParameterKey key) { if (key != null) { StringBuffer sb = new StringBuffer(); String[] fields = key.field(); for (String fieldName : fields) { Field field = ReflectionUtils.findField(argument.getClass(), fieldName); field.setAccessible(true);/*from w w w.j a v a 2 s . co m*/ Object fieldArg = ReflectionUtils.getField(field, argument); sb.append(getArgumentKey(fieldArg)); } return sb.toString(); } else { return getArgumentKey(argument); } }
From source file:org.springframework.batch.integration.chunk.RemoteChunkHandlerFactoryBean.java
private static Object getField(Object target, String name) { Assert.notNull(target, "Target object must not be null"); Field field = ReflectionUtils.findField(target.getClass(), name); if (field == null) { if (logger.isDebugEnabled()) { logger.debug("Could not find field [" + name + "] on target [" + target + "]"); }/* w ww .j ava2 s.c o m*/ return null; } if (logger.isDebugEnabled()) { logger.debug("Getting field [" + name + "] from target [" + target + "]"); } ReflectionUtils.makeAccessible(field); return ReflectionUtils.getField(field, target); }
From source file:org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainer.java
@SuppressWarnings("unchecked") private List<BoundChannel> extractChannels() { Field channelsField = ReflectionUtils.findField(Undertow.class, "channels"); ReflectionUtils.makeAccessible(channelsField); return (List<BoundChannel>) ReflectionUtils.getField(channelsField, this.undertow); }
From source file:org.springframework.boot.context.embedded.undertow.UndertowWebServer.java
@SuppressWarnings("unchecked") private List<Object> extractListeners() { Field listenersField = ReflectionUtils.findField(Undertow.class, "listeners"); ReflectionUtils.makeAccessible(listenersField); return (List<Object>) ReflectionUtils.getField(listenersField, this.undertow); }
From source file:org.springframework.boot.context.embedded.undertow.UndertowWebServer.java
private UndertowWebServer.Port getPortFromListener(Object listener) { Field typeField = ReflectionUtils.findField(listener.getClass(), "type"); ReflectionUtils.makeAccessible(typeField); String protocol = ReflectionUtils.getField(typeField, listener).toString(); Field portField = ReflectionUtils.findField(listener.getClass(), "port"); ReflectionUtils.makeAccessible(portField); int port = (Integer) ReflectionUtils.getField(portField, listener); return new UndertowWebServer.Port(port, protocol); }
From source file:org.springframework.boot.devtools.autoconfigure.HateoasObjenesisCacheDisabler.java
private void removeObjenesisCache(Class<?> dummyInvocationUtils) { try {/*from www. ja va 2 s.c o m*/ Field objenesisField = ReflectionUtils.findField(dummyInvocationUtils, "OBJENESIS"); if (objenesisField != null) { ReflectionUtils.makeAccessible(objenesisField); Object objenesis = ReflectionUtils.getField(objenesisField, null); Field cacheField = ReflectionUtils.findField(objenesis.getClass(), "cache"); ReflectionUtils.makeAccessible(cacheField); ReflectionUtils.setField(cacheField, objenesis, null); } } catch (Exception ex) { logger.warn("Failed to disable Spring HATEOAS's Objenesis cache. ClassCastExceptions may occur", ex); } }
From source file:org.springframework.boot.web.client.RestTemplateBuilder.java
private ClientHttpRequestFactory unwrapRequestFactoryIfNecessary(ClientHttpRequestFactory requestFactory) { if (!(requestFactory instanceof AbstractClientHttpRequestFactoryWrapper)) { return requestFactory; }/* w w w . j a v a 2 s . co m*/ ClientHttpRequestFactory unwrappedRequestFactory = requestFactory; Field field = ReflectionUtils.findField(AbstractClientHttpRequestFactoryWrapper.class, "requestFactory"); ReflectionUtils.makeAccessible(field); do { unwrappedRequestFactory = (ClientHttpRequestFactory) ReflectionUtils.getField(field, unwrappedRequestFactory); } while (unwrappedRequestFactory instanceof AbstractClientHttpRequestFactoryWrapper); return unwrappedRequestFactory; }
From source file:org.springframework.boot.web.embedded.undertow.UndertowServletWebServer.java
private Port getPortFromListener(Object listener) { Field typeField = ReflectionUtils.findField(listener.getClass(), "type"); ReflectionUtils.makeAccessible(typeField); String protocol = ReflectionUtils.getField(typeField, listener).toString(); Field portField = ReflectionUtils.findField(listener.getClass(), "port"); ReflectionUtils.makeAccessible(portField); int port = (Integer) ReflectionUtils.getField(portField, listener); return new Port(port, protocol); }
From source file:org.springframework.cloud.config.server.environment.HttpClientConfigurableHttpConnectionFactoryTest.java
private HttpClient getActualHttpClient(HttpConnection actualConnection) { Field clientField = ReflectionUtils.findField(actualConnection.getClass(), "client"); ReflectionUtils.makeAccessible(clientField); return (HttpClient) ReflectionUtils.getField(clientField, actualConnection); }