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