org.exolab.castor.mapping
Interface CollectionHandler


public interface CollectionHandler

Collection handler for adding/listing elements of a collection. A collection field will use this handler to add elements when it's value is set, and to enumerate then when it's value is retrieved. A collection handler is instantiated only once, must be thread safe and not use any synchronization.

Version:
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:08:26 $
Author:
Assaf Arkin

Method Summary
 java.lang.Object add(java.lang.Object collection, java.lang.Object object)
          Add an object to the collection.
 java.lang.Object clear(java.lang.Object collection)
          Clears the collection of any objects.
 java.util.Enumeration elements(java.lang.Object collection)
          Returns an enumeration of all the elements in the collection.
 int size(java.lang.Object collection)
          Returns the number of elements in the collection.
 

Method Detail

add

public java.lang.Object add(java.lang.Object collection,
                            java.lang.Object object)
                     throws java.lang.ClassCastException
Add an object to the collection. A collection may not allow the same object to be added more than once. The collection is provided as a parameter and is returned as the return value if the returned collection is a different object. That way the handler can create a new collection or change the collection as necessary (e.g. when resizing an array).

Parameters:
collection - The collection, null if no collection has been created yet
object - The object to add to the collection
Returns:
The collection with the new object if a different instance than the collection parameter, null otherwise
Throws:
java.lang.ClassCastException - The collection handler does not support collections of this type

elements

public java.util.Enumeration elements(java.lang.Object collection)
                               throws java.lang.ClassCastException
Returns an enumeration of all the elements in the collection.

Parameters:
collection - The collection
Returns:
An enumeration of all the elements in the collection
Throws:
java.lang.ClassCastException - The collection handler does not support collections of this type

size

public int size(java.lang.Object collection)
         throws java.lang.ClassCastException
Returns the number of elements in the collection.

Parameters:
collection - The collection
Returns:
Number of elements in the collection
Throws:
java.lang.ClassCastException - The collection handler does not support collections of this type

clear

public java.lang.Object clear(java.lang.Object collection)
                       throws java.lang.ClassCastException
Clears the collection of any objects. The collection is provided as a parameter and is returned as the return value if the returned collection is a different object. That way the handler can create a new collection or change the collection as necessary (e.g. when resizing an array).

Parameters:
collection - The collection, null if no collection has been created yet
Returns:
The empty collection if a different instance than the collection parameter, null otherwise
Throws:
java.lang.ClassCastException - The collection handler does not support collections of this type


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com