com.sun.xml.bind.v2.model.impl

Class ClassInfoImpl<T,C,F,M>

public class ClassInfoImpl<T,C,F,M> extends TypeInfoImpl<T,C,F,M> implements ClassInfo<T,C>, Element<T,C>

A part of the ClassInfo that doesn't depend on a particular reflection library.
Field Summary
protected PropertySeed<T,C,F,M>attributeWildcard
If this class has a declared (not inherited) attribute wildcard, keep the reference to it.
protected Cclazz
Constructor Summary
ClassInfoImpl(ModelBuilder<T,C,F,M> builder, Locatable upstream, C clazz)
Method Summary
Element<T,C>asElement()
booleancanBeReferencedByIDREF()
A ClassInfo can be referenced by XmlIDREF if it has an ID property.
protected voidcheckFieldXmlLocation(F f)
This hook is used by RuntimeClassInfoImpl to look for XmlLocation.
protected PropertySeed<T,C,F,M>createAccessorSeed(M getter, M setter)
Creates a new GetterSetterPropertySeed object.
protected AttributePropertyInfoImpl<T,C,F,M>createAttributeProperty(PropertySeed<T,C,F,M> seed)
protected ElementPropertyInfoImpl<T,C,F,M>createElementProperty(PropertySeed<T,C,F,M> seed)
protected PropertySeed<T,C,F,M>createFieldSeed(F f)
Creates a new FieldPropertySeed object.
protected MapPropertyInfoImpl<T,C,F,M>createMapProperty(PropertySeed<T,C,F,M> seed)
protected ReferencePropertyInfoImpl<T,C,F,M>createReferenceProperty(PropertySeed<T,C,F,M> seed)
protected ValuePropertyInfoImpl<T,C,F,M>createValueProperty(PropertySeed<T,C,F,M> seed)
booleandeclaresAttributeWildcard()
ClassInfoImpl<T,C,F,M>getBaseClass()
CgetClazz()
QNamegetElementName()
MethodgetFactoryMethod()
LocationgetLocation()
StringgetName()
List<? extends PropertyInfo<T,C>>getProperties()
PropertyInfo<T,C>getProperty(String name)
ClassInfoImpl<T,C,F,M>getScope()
When a bean binds to an element, it's always through XmlRootElement, so this method always return null.
Element<T,C>getSubstitutionHead()
{@inheritDoc } The substitution hierarchy is the same as the inheritance hierarchy.
TgetType()
QNamegetTypeName()
booleanhasAttributeWildcard()
booleanhasProperties()
booleanhasSubClasses()
booleanhasValueProperty()
booleaninheritsAttributeWildcard()
booleanisAbstract()
booleanisElement()
booleanisFinal()
booleanisOrdered()
booleanisSimpleType()
voidlink()
Called after all the TypeInfos are collected into the ClassInfoImpl.
<A extends Annotation> AreadAnnotation(Class<A> a)
StringtoString()

Field Detail

attributeWildcard

protected PropertySeed<T,C,F,M> attributeWildcard
If this class has a declared (not inherited) attribute wildcard, keep the reference to it. This parameter is initialized at the construction time and never change.

clazz

protected final C clazz

Constructor Detail

ClassInfoImpl

ClassInfoImpl(ModelBuilder<T,C,F,M> builder, Locatable upstream, C clazz)

Method Detail

asElement

public Element<T,C> asElement()

canBeReferencedByIDREF

public boolean canBeReferencedByIDREF()
A ClassInfo can be referenced by XmlIDREF if it has an ID property.

checkFieldXmlLocation

protected void checkFieldXmlLocation(F f)
This hook is used by RuntimeClassInfoImpl to look for XmlLocation.

createAccessorSeed

protected PropertySeed<T,C,F,M> createAccessorSeed(M getter, M setter)
Creates a new GetterSetterPropertySeed object.

createAttributeProperty

protected AttributePropertyInfoImpl<T,C,F,M> createAttributeProperty(PropertySeed<T,C,F,M> seed)

createElementProperty

protected ElementPropertyInfoImpl<T,C,F,M> createElementProperty(PropertySeed<T,C,F,M> seed)

createFieldSeed

protected PropertySeed<T,C,F,M> createFieldSeed(F f)
Creates a new FieldPropertySeed object.

Derived class can override this method to create a sub-class.

createMapProperty

protected MapPropertyInfoImpl<T,C,F,M> createMapProperty(PropertySeed<T,C,F,M> seed)

createReferenceProperty

protected ReferencePropertyInfoImpl<T,C,F,M> createReferenceProperty(PropertySeed<T,C,F,M> seed)

createValueProperty

protected ValuePropertyInfoImpl<T,C,F,M> createValueProperty(PropertySeed<T,C,F,M> seed)

declaresAttributeWildcard

public final boolean declaresAttributeWildcard()

getBaseClass

public ClassInfoImpl<T,C,F,M> getBaseClass()

getClazz

public final C getClazz()

getElementName

public final QName getElementName()

getFactoryMethod

public Method getFactoryMethod()

getLocation

public Location getLocation()

getName

public final String getName()

getProperties

public List<? extends PropertyInfo<T,C>> getProperties()

getProperty

public PropertyInfo<T,C> getProperty(String name)

getScope

public ClassInfoImpl<T,C,F,M> getScope()

Deprecated: you shouldn't be invoking this method on ClassInfoImpl.

When a bean binds to an element, it's always through XmlRootElement, so this method always return null.

getSubstitutionHead

public final Element<T,C> getSubstitutionHead()
{@inheritDoc } The substitution hierarchy is the same as the inheritance hierarchy.

getType

public final T getType()

getTypeName

public final QName getTypeName()

hasAttributeWildcard

public final boolean hasAttributeWildcard()

hasProperties

public boolean hasProperties()

hasSubClasses

public final boolean hasSubClasses()

hasValueProperty

public final boolean hasValueProperty()

inheritsAttributeWildcard

public final boolean inheritsAttributeWildcard()

isAbstract

public boolean isAbstract()

isElement

public final boolean isElement()

isFinal

public final boolean isFinal()

isOrdered

public boolean isOrdered()

isSimpleType

public final boolean isSimpleType()

link

void link()
Called after all the TypeInfos are collected into the ClassInfoImpl.

readAnnotation

public <A extends Annotation> A readAnnotation(Class<A> a)

toString

public String toString()