@Override public Object getActualBeanReference(final Object ref) { return Factory.maybeUnwrapProxy(ref); }
private Object maybeUnwrap(final Object instance) { return Factory.maybeUnwrapProxy(instance); }
@Override public <T> boolean endInstanceLifecycle(final T instance) { return activeListenerMap.remove(Factory.maybeUnwrapProxy(instance)) != null; }
protected <D> D registerDependentScopedReference(final T instance, final D dependentScopedBeanRef) { dependentScopedDependencies.put(maybeUnwrapProxy(instance), dependentScopedBeanRef); return dependentScopedBeanRef; }
public static boolean containsKey(Object bean) { bean = Factory.maybeUnwrapProxy(bean); return widgetBeanMap.containsKey(bean); }
public static boolean containsKey(Object bean) { bean = Factory.maybeUnwrapProxy(bean); return widgetBeanMap.containsKey(bean); }
private Map<String, Object> getInstanceRefMap(final T instance) { Map<String, Object> map = referenceMaps.get(maybeUnwrapProxy(instance)); if (map == null) { map = new HashMap<>(); referenceMaps.put(instance, map); } return map; }
public static void remove(Object obj) { obj = Factory.maybeUnwrapProxy(obj); final Pair pair = widgetBeanMap.get(obj); if (pair != null) { widgetBeanMap.remove(pair.bean); widgetBeanMap.remove(pair.widget); } }
public static void remove(Object obj) { obj = Factory.maybeUnwrapProxy(obj); final Pair pair = widgetBeanMap.get(obj); if (pair != null) { widgetBeanMap.remove(pair.bean); widgetBeanMap.remove(pair.widget); } }
public static TemplateWidget get(Object bean) { bean = Factory.maybeUnwrapProxy(bean); final Pair pair = widgetBeanMap.get(bean); if (pair == null) { throw new RuntimeException("There is no widget mapped to the " + bean.getClass().getName() + " bean: " + bean.toString()); } else { return pair.widget; } }
public static TemplateWidget get(Object bean) { bean = Factory.maybeUnwrapProxy(bean); final Pair pair = widgetBeanMap.get(bean); if (pair == null) { throw new RuntimeException("There is no widget mapped to the " + bean.getClass().getName() + " bean: " + bean.toString()); } else { return pair.widget; } }
private <T> Collection<AuditableLifecycleListener<T>> getInstanceListeners(T instance) { instance = Factory.maybeUnwrapProxy(instance); @SuppressWarnings("unchecked") Collection<AuditableLifecycleListener<T>> listeners = (Collection<AuditableLifecycleListener<T>>) activeListenerMap .get(instance); if (listeners == null) { listeners = generateNewLifecycleListeners(instance); activeListenerMap.put(instance, listeners); } return listeners; }
@SuppressWarnings("unchecked") public <P> P getReferenceAs(final T instance, final String referenceName, final Class<P> type) { return (P) getInstanceRefMap(maybeUnwrapProxy(instance)).get(referenceName); }
public static void put(Object bean, final TemplateWidget widget) { bean = Factory.maybeUnwrapProxy(bean); if (widgetBeanMap.containsKey(bean)) { throw new RuntimeException( "There is already a widget mapped for the " + bean.getClass().getName() + " bean: " + bean.toString()); } else if (widgetBeanMap.containsKey(widget)) { throw new RuntimeException("There is already a bean mapped for the given " + TemplateWidget.class.getSimpleName() + "."); } else { final Pair pair = new Pair(bean, widget); widgetBeanMap.put(bean, pair); widgetBeanMap.put(widget, pair); } }
public static void put(Object bean, final TemplateWidget widget) { bean = Factory.maybeUnwrapProxy(bean); if (widgetBeanMap.containsKey(bean)) { throw new RuntimeException( "There is already a widget mapped for the " + bean.getClass().getName() + " bean: " + bean.toString()); } else if (widgetBeanMap.containsKey(widget)) { throw new RuntimeException("There is already a bean mapped for the given " + TemplateWidget.class.getSimpleName() + "."); } else { final Pair pair = new Pair(bean, widget); widgetBeanMap.put(bean, pair); widgetBeanMap.put(widget, pair); } }
@Override public boolean isEnabled(ClientResourceType resourceType) { if (super.isEnabled(resourceType)) { resourceType = Factory.maybeUnwrapProxy(resourceType); Optional<String> optional = Optional.ofNullable(resourceTypeToExperimentalFeature.get(resourceType.getClass())); if (optional.isPresent()) { return registryService.isFeatureEnabled(optional.get()); } return true; } return false; } }
private static String getSimpleName(final DestructableClass instance) { return Factory.maybeUnwrapProxy(instance).getClass().getSimpleName(); }
@Override public <T> T getContextualInstance(final String factoryName, final Class<?>[] typeArgs, final Annotation[] qualifiers) { final Factory<T> factory = this.<T>getFactory(factoryName); final T instance = factory.createContextualInstance(getContextManager(), typeArgs, qualifiers); registerInstance(maybeUnwrapProxy(instance), factory); return instance; }
public void testBeanManagerInjectable() { final BeanManagerDependentBean bean = IOC.getBeanManager().lookupBean(BeanManagerDependentBean.class) .getInstance(); final ClientBeanManager beanManager = (GWT.<IOCEnvironment>create(IOCEnvironment.class).isAsync() ? IOC.getAsyncBeanManager() : IOC.getBeanManager()); assertSame(beanManager, Factory.maybeUnwrapProxy(bean.getBeanManager())); }
public void testDestructionStatementsInvoked() throws Exception { final MyDecoratedBean instance = IOC.getBeanManager().lookupBean(MyDecoratedBean.class).getInstance(); final MyDecoratedBean unwrapped = Factory.maybeUnwrapProxy(instance); // precondition assertTrue(instance.isFlag()); IOC.getBeanManager().destroyBean(instance); // Must use unwrapped here or else proxy loads a new instance assertFalse(unwrapped.isFlag()); } }