Apache CXF API

org.apache.cxf.aegis.type
Class TypeClassInfo

java.lang.Object
  extended by org.apache.cxf.aegis.type.TypeClassInfo

public class TypeClassInfo
extends Object

Object to carry information for an Aegis type, such as that from an XML mapping file. Note that this class has a misleading name. It is used both for type information that corresponds to a type, and also for parameters of methods and elements of beans. When describing a top-level type, minOccurs and maxOccurs are not meaningful. Aegis does not have a very clear model of a 'type', in the sense of an AegisType object corresponding to some particular XML Schema type, in isolation from the mapping system. Historically, Aegis talked about Java types as Class. However, we want to be able to keep track, distinctly, of un-erased generics. That requires java.lang.reflect.Type. Nillable is only used for parameters. It might be that the code could be deconfused by using the nillable property in here for the non-parameters cases that look at minOccurs and maxOccurs. Historically, the code for dealing with nillable was very confused, and so the support here is a bit ginger, until someone figures out how to sort things out. Thus the three-valued support instead of a plain boolean.


Constructor Summary
TypeClassInfo()
           
 
Method Summary
 Class<? extends AegisType> getAegisTypeClass()
           
 Object[] getAnnotations()
           
 String getDescription()
           
 Type getKeyType()
           
 QName getMappedName()
           
 long getMaxOccurs()
           
 long getMinOccurs()
           
 Boolean getNillable()
           
 Type getType()
           
 QName getTypeName()
           
 Type getValueType()
           
 boolean isFlat()
           
 boolean nonDefaultAttributes()
           
 void setAegisTypeClass(Class<? extends AegisType> aegisTypeClass)
           
 void setAnnotations(Object[] annotations)
           
 void setDescription(String description)
           
 void setFlat(boolean flat)
           
 void setKeyType(Type keyType)
           
 void setMappedName(QName mappedName)
           
 void setMaxOccurs(long maxOccurs)
           
 void setMinOccurs(long minOccurs)
           
 void setNillable(Boolean nillable)
           
 void setType(Type type)
           
 void setTypeName(QName name)
           
 void setValueType(Type valueType)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeClassInfo

public TypeClassInfo()
Method Detail

nonDefaultAttributes

public boolean nonDefaultAttributes()

getDescription

public String getDescription()

setDescription

public void setDescription(String description)

getAnnotations

public Object[] getAnnotations()

setAnnotations

public void setAnnotations(Object[] annotations)

getKeyType

public Type getKeyType()

setKeyType

public void setKeyType(Type keyType)

getType

public Type getType()

setType

public void setType(Type type)

getTypeName

public QName getTypeName()

setTypeName

public void setTypeName(QName name)

getAegisTypeClass

public Class<? extends AegisType> getAegisTypeClass()

setAegisTypeClass

public void setAegisTypeClass(Class<? extends AegisType> aegisTypeClass)

getMappedName

public QName getMappedName()

setMappedName

public void setMappedName(QName mappedName)

getMaxOccurs

public long getMaxOccurs()

setMaxOccurs

public void setMaxOccurs(long maxOccurs)

getMinOccurs

public long getMinOccurs()

setMinOccurs

public void setMinOccurs(long minOccurs)

isFlat

public boolean isFlat()

setFlat

public void setFlat(boolean flat)

toString

public String toString()
Overrides:
toString in class Object

getValueType

public Type getValueType()

setValueType

public void setValueType(Type valueType)

getNillable

public Boolean getNillable()

setNillable

public void setNillable(Boolean nillable)

Apache CXF API

Apache CXF