Interface Container

All Known Subinterfaces:
Connector, NetworkConnector
All Known Implementing Classes:
AbstractConnectionFactory, AbstractConnectionPool, AbstractConnector, AbstractConnectorHttpClientTransport, AbstractConnectorHttpClientTransport.ClientSelectorManager, AbstractHandler, AbstractHandler.ErrorDispatchHandler, AbstractHandlerContainer, AbstractHttpClientTransport, AbstractLoginService, AbstractNCSARequestLog, AbstractNetworkConnector, AbstractSessionCache, AbstractSessionDataStore, AsyncDelayHandler, AsyncNCSARequestLog, AttributeContainerMap, BufferedResponseHandler, CachingSessionDataStore, ConfigurableSpnegoLoginService, ConstraintSecurityHandler, ContainerLifeCycle, ContextHandler, ContextHandlerCollection, CustomRequestLog, DebugHandler, DefaultHandler, DefaultSessionCache, DefaultSessionIdManager, DetectorConnectionFactory, DuplexConnectionPool, EatWhatYouKill, ErrorHandler, ErrorPageErrorHandler, ExecutorSizedThreadPool, ExecutorThreadPool, FileSessionDataStore, GzipHandler, HandlerCollection, HandlerList, HandlerWrapper, HashLoginService, HotSwapHandler, HttpClient, HttpClientTransportOverHTTP, HttpConnectionFactory, HttpDestination, HttpDestinationOverHTTP, IdleTimeoutHandler, InetAccessHandler, IPAccessHandler, JAASLoginService, JDBCLoginService, JDBCSessionDataStore, KeyStoreScanner, LeakTrackingByteBufferPool, LeakTrackingConnectionPool, LocalConnector, LowResourceMonitor, ManagedSelector, MonitoredQueuedThreadPool, MovedContextHandler, MovedContextHandler.Redirector, MultiplexConnectionPool, MultiplexHttpDestination, NCSARequestLog, NegotiatingServerConnectionFactory, NetworkTrafficSelectChannelConnector, NetworkTrafficServerConnector, NullSessionCache, NullSessionDataStore, OptionalSslConnectionFactory, PoolingHttpDestination, ProxyConnectionFactory, ProxyConnectionFactory.ProxyV1ConnectionFactory, ProxyConnectionFactory.ProxyV2ConnectionFactory, QueuedThreadPool, RandomConnectionPool, RequestLogHandler, ResourceHandler, RoundRobinConnectionPool, ScopedHandler, SecuredRedirectHandler, SecurityHandler, SelectorManager, Server, ServerConnector, ServerConnector.ServerConnectorManager, ServletContextHandler, ServletHandler, SessionHandler, ShutdownHandler, Slf4jRequestLog, SslConnectionFactory, StatisticsHandler, ThreadLimitHandler, ValidatingConnectionPool, WebAppContext

public interface Container
A Container
  • Method Details

    • addBean

      boolean addBean(Object o)
      Add a bean. If the bean is-a Container.Listener, then also do an implicit addEventListener(Listener).
      Parameters:
      o - the bean object to add
      Returns:
      true if the bean was added, false if it was already present
    • getBeans

      Collection<Object> getBeans()
      Returns:
      the collection of beans known to this aggregate, in the order they were added.
      See Also:
    • getBeans

      <T> Collection<T> getBeans(Class<T> clazz)
      Type Parameters:
      T - the Bean type
      Parameters:
      clazz - the class of the beans
      Returns:
      a list of beans of the given class (or subclass), in the order they were added.
      See Also:
    • getBean

      <T> T getBean(Class<T> clazz)
      Type Parameters:
      T - the Bean type
      Parameters:
      clazz - the class of the bean
      Returns:
      the first bean (in order added) of a specific class (or subclass), or null if no such bean exist
    • removeBean

      boolean removeBean(Object o)
      Removes the given bean. If the bean is-a Container.Listener, then also do an implicit removeEventListener(Listener).
      Parameters:
      o - the bean to remove
      Returns:
      whether the bean was removed
    • addEventListener

      void addEventListener(Container.Listener listener)
      Add an event listener.
      Parameters:
      listener - the listener to add
      See Also:
    • removeEventListener

      void removeEventListener(Container.Listener listener)
      Remove an event listener.
      Parameters:
      listener - the listener to remove
      See Also:
    • unmanage

      void unmanage(Object bean)
      Unmanages a bean already contained by this aggregate, so that it is not started/stopped/destroyed with this aggregate.
      Parameters:
      bean - The bean to unmanage (must already have been added).
    • manage

      void manage(Object bean)
      Manages a bean already contained by this aggregate, so that it is started/stopped/destroyed with this aggregate.
      Parameters:
      bean - The bean to manage (must already have been added).
    • isManaged

      boolean isManaged(Object bean)
      Test if this container manages a bean
      Parameters:
      bean - the bean to test
      Returns:
      whether this aggregate contains and manages the bean
    • addBean

      boolean addBean(Object o, boolean managed)
      Adds the given bean, explicitly managing it or not.
      Parameters:
      o - The bean object to add
      managed - whether to managed the lifecycle of the bean
      Returns:
      true if the bean was added, false if it was already present
    • getContainedBeans

      <T> Collection<T> getContainedBeans(Class<T> clazz)
      Type Parameters:
      T - the Bean type
      Parameters:
      clazz - the class of the beans
      Returns:
      the list of beans of the given class from the entire Container hierarchy. The order is primarily depth first and secondarily added order.