Class TypeClassInfo

java.lang.Object
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 Details

    • TypeClassInfo

      public TypeClassInfo()
  • Method Details

    • 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)
    • setType

      public void setType(Type tp, Map<String,Type> vars)
    • getTypeVars

      public Map<String,Type> getTypeVars()
    • 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)