private <T> T createClientProxy(BeanInstance beanInstance, String contextId) { ProxyFactory<T> factory = new ProxyFactory<>(contextId, getBeanClass(), getTypes(), this); return factory.create(beanInstance); }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
@Override public T create(BeanInstance beanInstance) { try { final T instance = super.create(beanInstance); if (beanIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), BEAN_ID_FIELD); SecurityActions.ensureAccessible(f); beanIdField = f; } if (contextIdField == null) { final Field f = SecurityActions.getDeclaredField(instance.getClass(), CONTEXT_ID_FIELD); SecurityActions.ensureAccessible(f); contextIdField = f; } beanIdField.set(instance, beanId); contextIdField.set(instance, getContextId()); return instance; } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getCause()); } }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
protected AbstractEEBean(Class<T> type, Callable<T> callable, BeanManagerImpl beanManager) { super(beanManager, type); this.proxy = new ProxyFactory<T>(beanManager.getContextId(), type, getTypes(), this).create(new EnterpriseTargetBeanInstance(type, new CallableMethodHandler(callable))); }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }
@Override public T create(CreationalContext<T> creationalContext) { final T beanInstance = getProducer().produce(creationalContext); if (Reflections.isFinal(rawType) || Serializable.class.isAssignableFrom(beanInstance.getClass())) { return checkReturnValue(beanInstance); } else { BeanInstance proxyBeanInstance = new EnterpriseTargetBeanInstance(getTypes(), new CallableMethodHandler(new EEResourceCallable<T>(getBeanManager(), this, creationalContext, beanInstance))); return checkReturnValue(proxyFactory.create(proxyBeanInstance)); } }