return false; Bean new_bean = new Bean(o);
boolean wasManaged = bean.isManaged();
/** * @param clazz the class of the beans * @param <T> the Bean type * @param beans the collection to add beans of the given class from the entire managed hierarchy */ protected <T> void getContainedBeans(Class<T> clazz, Collection<T> beans) { beans.addAll(getBeans(clazz)); for (Container c : getBeans(Container.class)) { Bean bean = getBean(c); if (bean!=null && bean.isManageable()) { if (c instanceof ContainerLifeCycle) ((ContainerLifeCycle)c).getContainedBeans(clazz, beans); else beans.addAll(c.getContainedBeans(clazz)); } } } }
return false; Bean new_bean = new Bean(o);
return false; Bean new_bean = new Bean(o);
boolean wasManaged = bean.isManaged();
boolean wasManaged = bean.isManaged();
private boolean remove(Bean bean) { if (_beans.remove(bean)) { unmanage(bean); for (Container.Listener l:_listeners) l.beanRemoved(this,bean._bean); if (bean._bean instanceof Container.Listener) { Container.Listener listener = (Container.Listener)bean._bean; if (_listeners.remove(listener)) { // remove existing beans for (Bean b:_beans) { listener.beanRemoved(this,b._bean); if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) ((Container)b._bean).removeBean(listener); } } } return true; } return false; }
private boolean remove(Bean bean) { if (_beans.remove(bean)) { unmanage(bean); for (Container.Listener l:_listeners) l.beanRemoved(this,bean._bean); if (bean._bean instanceof Container.Listener) { Container.Listener listener = (Container.Listener)bean._bean; if (_listeners.remove(listener)) { // remove existing beans for (Bean b:_beans) { listener.beanRemoved(this,b._bean); if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) ((Container)b._bean).removeBean(listener); } } } return true; } return false; }
@Override public void addEventListener(Container.Listener listener) { if (_listeners.contains(listener)) return; _listeners.add(listener); // tell it about existing beans for (Bean b:_beans) { listener.beanAdded(this,b._bean); // handle inheritance if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) { if (b._bean instanceof ContainerLifeCycle) ((ContainerLifeCycle)b._bean).addBean(listener, false); else ((Container)b._bean).addBean(listener); } } }
/** * @param clazz the class of the beans * @param <T> the Bean type * @param beans the collection to add beans of the given class from the entire managed hierarchy */ protected <T> void getContainedBeans(Class<T> clazz, Collection<T> beans) { beans.addAll(getBeans(clazz)); for (Container c : getBeans(Container.class)) { Bean bean = getBean(c); if (bean!=null && bean.isManageable()) { if (c instanceof ContainerLifeCycle) ((ContainerLifeCycle)c).getContainedBeans(clazz, beans); else beans.addAll(c.getContainedBeans(clazz)); } } } }
@Override public void addEventListener(Container.Listener listener) { if (_listeners.contains(listener)) return; _listeners.add(listener); // tell it about existing beans for (Bean b:_beans) { listener.beanAdded(this,b._bean); // handle inheritance if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) { if (b._bean instanceof ContainerLifeCycle) ((ContainerLifeCycle)b._bean).addBean(listener, false); else ((Container)b._bean).addBean(listener); } } }
@Override public void removeEventListener(Container.Listener listener) { if (_listeners.remove(listener)) { // remove existing beans for (Bean b:_beans) { listener.beanRemoved(this,b._bean); if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) ((Container)b._bean).removeBean(listener); } } }
@Override public void removeEventListener(Container.Listener listener) { if (_listeners.remove(listener)) { // remove existing beans for (Bean b:_beans) { listener.beanRemoved(this,b._bean); if (listener instanceof InheritedListener && b.isManaged() && b._bean instanceof Container) ((Container)b._bean).removeBean(listener); } } }
@Override public void setStopTimeout(long stopTimeout) { super.setStopTimeout(stopTimeout); for (Bean bean : _beans) { if (bean.isManaged() && bean._bean instanceof AbstractLifeCycle) ((AbstractLifeCycle)bean._bean).setStopTimeout(stopTimeout); } }
/** * @param bean the bean to test * @return whether this aggregate contains and manages the bean */ public boolean isManaged(Object bean) { for (Bean b : _beans) if (b._bean == bean) return b.isManaged(); return false; }
@Override public void setStopTimeout(long stopTimeout) { super.setStopTimeout(stopTimeout); for (Bean bean : _beans) { if (bean.isManaged() && bean._bean instanceof AbstractLifeCycle) ((AbstractLifeCycle)bean._bean).setStopTimeout(stopTimeout); } }
/** * @param bean the bean to test * @return whether this aggregate contains and manages the bean */ public boolean isManaged(Object bean) { for (Bean b : _beans) if (b._bean == bean) return b.isManaged(); return false; }