org.codehaus.xfire.aegis.type
Class AbstractTypeCreator

java.lang.Object
  extended by org.codehaus.xfire.aegis.type.AbstractTypeCreator
All Implemented Interfaces:
TypeCreator
Direct Known Subclasses:
DefaultTypeCreator, XMLTypeCreator

public abstract class AbstractTypeCreator
extends java.lang.Object
implements TypeCreator

Author:
Hani Suleiman Date: Jun 14, 2005 Time: 11:59:57 PM

Nested Class Summary
static class AbstractTypeCreator.TypeClassInfo
           
 
Field Summary
protected  AbstractTypeCreator nextCreator
           
protected  TypeMapping tm
           
 
Constructor Summary
AbstractTypeCreator()
           
 
Method Summary
protected  Type createArrayType(AbstractTypeCreator.TypeClassInfo info)
           
 AbstractTypeCreator.TypeClassInfo createBasicClassInfo(java.lang.Class typeClass)
           
protected  AbstractTypeCreator.TypeClassInfo createClassInfo(java.lang.reflect.Field f)
           
abstract  AbstractTypeCreator.TypeClassInfo createClassInfo(java.lang.reflect.Method m, int index)
           
abstract  AbstractTypeCreator.TypeClassInfo createClassInfo(java.beans.PropertyDescriptor pd)
           
protected  javax.xml.namespace.QName createCollectionQName(AbstractTypeCreator.TypeClassInfo info, Type type)
           
abstract  Type createCollectionType(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type createCollectionTypeFromGeneric(AbstractTypeCreator.TypeClassInfo info)
           
abstract  Type createDefaultType(AbstractTypeCreator.TypeClassInfo info)
           
 Type createEnumType(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type createHolderType(AbstractTypeCreator.TypeClassInfo info)
           
protected  javax.xml.namespace.QName createMapQName(AbstractTypeCreator.TypeClassInfo info, Type keyType, Type valueType)
           
protected  Type createMapType(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type createMapType(AbstractTypeCreator.TypeClassInfo info, Type keyType, Type valueType)
           
protected  javax.xml.namespace.QName createQName(java.lang.Class javaType)
           
 Type createType(java.lang.Class clazz)
           
 Type createType(java.lang.reflect.Field f)
          Create type information for a Field.
 Type createType(java.lang.reflect.Method m, int index)
          Create a Type for a Method parameter.
 Type createType(java.beans.PropertyDescriptor pd)
          Create type information for a PropertyDescriptor.
 Type createTypeForClass(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type createUserType(AbstractTypeCreator.TypeClassInfo info)
           
 Configuration getConfiguration()
           
 javax.xml.namespace.QName getElementName(java.lang.reflect.Method m, int index)
          Get the mapped name of a method parameter.
protected  Type getOrCreateGenericType(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type getOrCreateMapKeyType(AbstractTypeCreator.TypeClassInfo info)
           
protected  Type getOrCreateMapValueType(AbstractTypeCreator.TypeClassInfo info)
           
 TypeCreator getParent()
           
 TypeCreator getTopCreator()
           
 TypeMapping getTypeMapping()
           
protected  boolean isArray(java.lang.Class javaType)
           
protected  boolean isCollection(java.lang.Class javaType)
           
protected  boolean isEnum(java.lang.Class javaType)
           
protected  boolean isHolder(java.lang.Class javaType)
           
protected  boolean isMap(java.lang.Class javaType)
           
 void setConfiguration(Configuration typeConfiguration)
           
 void setNextCreator(AbstractTypeCreator creator)
           
 void setParent(TypeCreator parent)
           
 void setTypeMapping(TypeMapping typeMapping)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tm

protected TypeMapping tm

nextCreator

protected AbstractTypeCreator nextCreator
Constructor Detail

AbstractTypeCreator

public AbstractTypeCreator()
Method Detail

getTypeMapping

public TypeMapping getTypeMapping()

getTopCreator

public TypeCreator getTopCreator()

getParent

public TypeCreator getParent()
Specified by:
getParent in interface TypeCreator

setParent

public void setParent(TypeCreator parent)
Specified by:
setParent in interface TypeCreator

setTypeMapping

public void setTypeMapping(TypeMapping typeMapping)
Specified by:
setTypeMapping in interface TypeCreator

setNextCreator

public void setNextCreator(AbstractTypeCreator creator)

createClassInfo

protected AbstractTypeCreator.TypeClassInfo createClassInfo(java.lang.reflect.Field f)

createBasicClassInfo

public AbstractTypeCreator.TypeClassInfo createBasicClassInfo(java.lang.Class typeClass)

createTypeForClass

public Type createTypeForClass(AbstractTypeCreator.TypeClassInfo info)

isHolder

protected boolean isHolder(java.lang.Class javaType)

createHolderType

protected Type createHolderType(AbstractTypeCreator.TypeClassInfo info)

isArray

protected boolean isArray(java.lang.Class javaType)

createUserType

protected Type createUserType(AbstractTypeCreator.TypeClassInfo info)

createArrayType

protected Type createArrayType(AbstractTypeCreator.TypeClassInfo info)

createQName

protected javax.xml.namespace.QName createQName(java.lang.Class javaType)

isCollection

protected boolean isCollection(java.lang.Class javaType)

createCollectionTypeFromGeneric

protected Type createCollectionTypeFromGeneric(AbstractTypeCreator.TypeClassInfo info)

getOrCreateGenericType

protected Type getOrCreateGenericType(AbstractTypeCreator.TypeClassInfo info)

getOrCreateMapKeyType

protected Type getOrCreateMapKeyType(AbstractTypeCreator.TypeClassInfo info)

getOrCreateMapValueType

protected Type getOrCreateMapValueType(AbstractTypeCreator.TypeClassInfo info)

createMapType

protected Type createMapType(AbstractTypeCreator.TypeClassInfo info,
                             Type keyType,
                             Type valueType)

createMapType

protected Type createMapType(AbstractTypeCreator.TypeClassInfo info)

createMapQName

protected javax.xml.namespace.QName createMapQName(AbstractTypeCreator.TypeClassInfo info,
                                                   Type keyType,
                                                   Type valueType)

isMap

protected boolean isMap(java.lang.Class javaType)

createClassInfo

public abstract AbstractTypeCreator.TypeClassInfo createClassInfo(java.beans.PropertyDescriptor pd)

isEnum

protected boolean isEnum(java.lang.Class javaType)

createEnumType

public Type createEnumType(AbstractTypeCreator.TypeClassInfo info)

createCollectionType

public abstract Type createCollectionType(AbstractTypeCreator.TypeClassInfo info)

createDefaultType

public abstract Type createDefaultType(AbstractTypeCreator.TypeClassInfo info)

createCollectionQName

protected javax.xml.namespace.QName createCollectionQName(AbstractTypeCreator.TypeClassInfo info,
                                                          Type type)

createClassInfo

public abstract AbstractTypeCreator.TypeClassInfo createClassInfo(java.lang.reflect.Method m,
                                                                  int index)

createType

public Type createType(java.lang.reflect.Method m,
                       int index)
Create a Type for a Method parameter.

Specified by:
createType in interface TypeCreator
Parameters:
m - the method to create a type for
index - The parameter index. If the index is less than zero, the return type is used.

getElementName

public javax.xml.namespace.QName getElementName(java.lang.reflect.Method m,
                                                int index)
Description copied from interface: TypeCreator
Get the mapped name of a method parameter.

Specified by:
getElementName in interface TypeCreator
Returns:

createType

public Type createType(java.beans.PropertyDescriptor pd)
Create type information for a PropertyDescriptor.

Specified by:
createType in interface TypeCreator
Parameters:
pd - the propertydescriptor

createType

public Type createType(java.lang.reflect.Field f)
Create type information for a Field.

Specified by:
createType in interface TypeCreator
Parameters:
f - the field to create a type from

createType

public Type createType(java.lang.Class clazz)
Specified by:
createType in interface TypeCreator

getConfiguration

public Configuration getConfiguration()

setConfiguration

public void setConfiguration(Configuration typeConfiguration)


Copyright © 2004-2010. All Rights Reserved.