org.eclipse.net4j.util.container

## Interface IContainer<E>

- All Superinterfaces:
    INotifier
  All Known Subinterfaces:
    IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainerBlockingQueue<E>, IContainerCollection<E>, IContainerList<E>, IContainerMap<K,V>, IContainerQueue<E>, IContainerSet<E>, IContainerSortedSet<E>, IManagedContainer, IPluginContainer, IRegistry<K,V>
  All Known Implementing Classes:
    AbstractDelegator, Container, ContainerBlockingQueue, ContainerCollection, ContainerList, ContainerMap, ContainerQueue, ContainerSet, ContainerSortedSet, DelegatingRegistry, HashMapDelegatingRegistry, HashMapRegistry, ManagedContainer, Registry, SetContainer, UnmodifiableRegistry

      public interface IContainer<E>
      extends INotifier

  Contains a number of elements and notifies about element addition and removal.

  A container can fire the following events:

  - `IContainerEvent` after the addition and/or removal of elements.
  Author:
    Eike Stepper
  Apiviz
  Apiviz
    `IContainerEvent` - - fires
  Apiviz
    `Object` - - elements

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `IContainer.Modifiable<E>` A `container` with additional methods to add or remove elements.
    `static interface` | `IContainer.Persistable<E>` A `container` with additional methods to add or remove elements.
    `static interface` | `IContainer.Persistence<E>`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `E[]` | `getElements()`
    `boolean` | `isEmpty()`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Method Detail

    - #### isEmpty

          boolean isEmpty()

    - #### getElements

          E[] getElements()

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html