org.exolab.castor.mapping.loader

Class CollectionHandlers


public final class CollectionHandlers
extends java.lang.Object

Utility class for obtaining collection handlers. Based on the configuration and supported classes it will return collections suitable for Java 1.1 and Java 1.2 run times.

Version:
$Revision: 1.2 $ $Date: 2003/03/03 09:57:16 $

Author:
Assaf Arkin

See Also:
CollectionHandler

Nested Class Summary

(package private) static class
CollectionHandlers.EmptyEnumerator
Enumerator for a null collection.
(package private) static class
CollectionHandlers.Info

Method Summary

static String
getCollectionName(Class javaClass)
Returns the associated string name for a given collection.
static Class
getCollectionType(String name)
Returns the collection's Java class from the collection name.
static CollectionHandler
getHandler(Class javaClass)
Returns the collection's handler based on the Java class.
static boolean
hasHandler(Class javaClass)
Returns true if the given class has an associated CollectionHandler.
static boolean
isGetSetCollection(Class javaClass)
Returns true if the collection requires get/set methods.

Method Details

getCollectionName

public static String getCollectionName(Class javaClass)
Returns the associated string name for a given collection.

Parameters:
javaClass - the class to search collection handlers for

Returns:
the string name for the given collection type or null if no association has been defined.


getCollectionType

public static Class getCollectionType(String name)
            throws MappingException
Returns the collection's Java class from the collection name. The collection name may be a short name (e.g. vector) or the collection Java class name (e.g. java.util.Vector). If the collection is not supported, an exception is thrown.

Parameters:
name - The collection name

Returns:
The collection Java class

Throws:
MappingException - The named collection is not supported


getHandler

public static CollectionHandler getHandler(Class javaClass)
            throws MappingException
Returns the collection's handler based on the Java class.

Parameters:
javaClass - The collection's Java class

Returns:
The collection handler

Throws:
MappingException - The collection class is not supported


hasHandler

public static boolean hasHandler(Class javaClass)
Returns true if the given class has an associated CollectionHandler.

Parameters:
javaClass - the class to search collection handlers for

Returns:
true if the given class has an associated CollectionHandler, otherwise false.


isGetSetCollection

public static boolean isGetSetCollection(Class javaClass)
            throws MappingException
Returns true if the collection requires get/set methods. java.util collections only require a get method, but an array collection required both get and set methods.

Returns:
True if collection requires get/set methods, false if collection requires only get method

Throws:
MappingException - The collection class is not supported


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