|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Container
A specialized set of identified Items. Basically the Container is a set of
Item
s, but it imposes certain constraints on its contents. These
constraints state the following:
Item.getItemPropertyIds()
).
The Container can be visualized as a representation of a relational database
table. Each Item in the Container represents a row in the table, and all
cells in a column (identified by a Property ID) have the same data type. Note
that as with the cells in a database table, no Property in a Container may be
empty, though they may contain null
values.
Note that though uniquely identified, the Items in a Container are not
necessarily ordered
or indexed
.
Containers can derive Item ID's from the item properties or use other, container specific or user specified identifiers.
If a container is filtered
or sorted
,
most of the the methods of the container interface and its subinterfaces
(container size, containsId(Object)
, iteration and indices etc.)
relate to the filtered and sorted view, not to the full container contents.
See individual method javadoc for exceptions to this (adding and removing
items).
The Container interface is split to several subinterfaces so that a class can implement only the ones it needs.
Nested Class Summary | |
---|---|
static interface |
Container.Editor
Interface implemented by the editor classes supporting editing the Container. |
static interface |
Container.Filter
Filter interface for container filtering. |
static interface |
Container.Filterable
Interface that is implemented by containers which allow reducing their visible contents based on a set of filters. |
static interface |
Container.Hierarchical
Interface for Container classes whose Items can be arranged
hierarchically. |
static interface |
Container.Indexed
Interface for Container classes whose Item s can be accessed by
their position in the container. |
static interface |
Container.ItemSetChangeEvent
An Event object specifying the Container whose Item set has
changed (items added, removed or reordered). |
static interface |
Container.ItemSetChangeListener
Container Item set change listener interface. |
static interface |
Container.ItemSetChangeNotifier
The interface for adding and removing ItemSetChangeEvent
listeners. |
static interface |
Container.Ordered
Interface for Container classes whose Item s can be traversed in
order. |
static interface |
Container.PropertySetChangeEvent
An Event object specifying the Container whose Property set
has changed. |
static interface |
Container.PropertySetChangeListener
The listener interface for receiving PropertySetChangeEvent
objects. |
static interface |
Container.PropertySetChangeNotifier
The interface for adding and removing PropertySetChangeEvent
listeners. |
static interface |
Container.SimpleFilterable
Interface that is implemented by containers which allow reducing their visible contents based on a set of filters. |
static interface |
Container.Sortable
Interface for Container classes whose Item s can be sorted. |
static interface |
Container.Viewer
Interface implemented by viewer classes capable of using a Container as a data source. |
Method Summary | |
---|---|
boolean |
addContainerProperty(Object propertyId,
Class<?> type,
Object defaultValue)
Adds a new Property to all Items in the Container. |
Object |
addItem()
Creates a new Item into the Container, and assign it an automatic ID. |
Item |
addItem(Object itemId)
Creates a new Item with the given ID in the Container. |
boolean |
containsId(Object itemId)
Tests if the Container contains the specified Item. |
Property |
getContainerProperty(Object itemId,
Object propertyId)
Gets the Property identified by the given itemId and propertyId from the Container. |
Collection<?> |
getContainerPropertyIds()
Gets the ID's of all Properties stored in the Container. |
Item |
getItem(Object itemId)
Gets the Item with the given Item ID from the Container. |
Collection<?> |
getItemIds()
Gets the ID's of all visible (after filtering and sorting) Items stored in the Container. |
Class<?> |
getType(Object propertyId)
Gets the data type of all Properties identified by the given Property ID. |
boolean |
removeAllItems()
Removes all Items from the Container. |
boolean |
removeContainerProperty(Object propertyId)
Removes a Property specified by the given Property ID from the Container. |
boolean |
removeItem(Object itemId)
Removes the Item identified by ItemId from the Container. |
int |
size()
Gets the number of visible Items in the Container. |
Method Detail |
---|
Item getItem(Object itemId)
Item
with the given Item ID from the Container. If the
Container does not contain the requested Item, null
is
returned.
Containers should not return Items that are filtered out.
itemId
- ID of the Item
to retrieve
Item
with the given ID or null
if the
Item is not found in the ContainerCollection<?> getContainerPropertyIds()
Collection<?> getItemIds()
Container.Ordered
, the collection returned by this
method should follow that order. If the container is Container.Sortable
,
the items should be in the sorted order.
Calling this method for large lazy containers can be an expensive
operation and should be avoided when practical.
Property getContainerProperty(Object itemId, Object propertyId)
null
is
returned.
itemId
- ID of the visible Item which contains the PropertypropertyId
- ID of the Property to retrieve
null
Class<?> getType(Object propertyId)
propertyId
- ID identifying the Properties
int size()
boolean containsId(Object itemId)
itemId
- ID the of Item to be tested
Item addItem(Object itemId) throws UnsupportedOperationException
The new Item is returned, and it is ready to have its Properties
modified. Returns null
if the operation fails or the
Container already contains a Item with the given ID.
This functionality is optional.
itemId
- ID of the Item to be created
null
in case of a failure
UnsupportedOperationException
- if adding an item with an explicit item ID is not supported
by the containerObject addItem() throws UnsupportedOperationException
The new ID is returned, or null
if the operation fails.
After a successful call you can use the
method to fetch the Item.
getItem
This functionality is optional.
null
in case of a
failure
UnsupportedOperationException
- if adding an item without an explicit item ID is not
supported by the containerboolean removeItem(Object itemId) throws UnsupportedOperationException
ItemId
from the Container.
Containers that support filtering should also allow removing an item that is currently filtered out.
This functionality is optional.
itemId
- ID of the Item to remove
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing individual itemsboolean addContainerProperty(Object propertyId, Class<?> type, Object defaultValue) throws UnsupportedOperationException
propertyId
- ID of the Propertytype
- Data type of the new PropertydefaultValue
- The value all created Properties are initialized to
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support explicitly adding container
propertiesboolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException
propertyId
- ID of the Property to remove
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing container
propertiesboolean removeAllItems() throws UnsupportedOperationException
Note that Property ID and type information is preserved. This functionality is optional.
true
if the operation succeeded, false
if not
UnsupportedOperationException
- if the container does not support removing all items
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |