public class ClassInfoImpl<T,C,F,M> extends Object implements com.sun.xml.bind.v2.model.core.ClassInfo<T,C>, com.sun.xml.bind.v2.model.core.Element<T,C>
ClassInfo
that doesn't depend on a particular
reflection library.Modifier and Type | Field and Description |
---|---|
protected com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> |
attributeWildcard
If this class has a declared (not inherited) attribute wildcard, keep the reference
to it.
|
protected ModelBuilder<TypeT,ClassDeclT,FieldT,MethodT> |
builder
Reference to the
ModelBuilder , only until we link TypeInfo s all together,
because we don't want to keep ModelBuilder too long. |
protected C |
clazz |
protected com.sun.xml.bind.v2.model.impl.TypeInfoSetImpl<TypeT,ClassDeclT,FieldT,MethodT> |
owner
TypeInfoSet to which this class belongs. |
ANYTYPE_NAME
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getUpstream
protected final C clazz
protected com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> attributeWildcard
protected final com.sun.xml.bind.v2.model.impl.TypeInfoSetImpl<TypeT,ClassDeclT,FieldT,MethodT> owner
TypeInfoSet
to which this class belongs.protected ModelBuilder<TypeT,ClassDeclT,FieldT,MethodT> builder
ModelBuilder
, only until we link TypeInfo
s all together,
because we don't want to keep ModelBuilder
too long.public ClassInfoImpl<T,C,F,M> getBaseClass()
getBaseClass
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final com.sun.xml.bind.v2.model.core.Element<T,C> getSubstitutionHead()
getSubstitutionHead
in interface com.sun.xml.bind.v2.model.core.Element<T,C>
public final C getClazz()
getClazz
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public ClassInfoImpl<T,C,F,M> getScope()
ClassInfoImpl
.XmlRootElement
,
so this method always return null.getScope
in interface com.sun.xml.bind.v2.model.core.Element<T,C>
public final T getType()
getType
in interface com.sun.xml.bind.v2.model.core.TypeInfo<T,C>
public boolean canBeReferencedByIDREF()
canBeReferencedByIDREF
in interface com.sun.xml.bind.v2.model.core.TypeInfo<T,C>
public final String getName()
getName
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public <A extends Annotation> A readAnnotation(Class<A> a)
public com.sun.xml.bind.v2.model.core.Element<T,C> asElement()
asElement
in interface com.sun.xml.bind.v2.model.core.MaybeElement<T,C>
public List<? extends com.sun.xml.bind.v2.model.core.PropertyInfo<T,C>> getProperties()
getProperties
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean hasValueProperty()
hasValueProperty
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public com.sun.xml.bind.v2.model.core.PropertyInfo<T,C> getProperty(String name)
getProperty
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
protected void checkFieldXmlLocation(F f)
RuntimeClassInfoImpl
to look for XmlLocation
.public boolean hasProperties()
hasProperties
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
protected com.sun.xml.bind.v2.model.impl.ReferencePropertyInfoImpl<T,C,F,M> createReferenceProperty(com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> seed)
protected com.sun.xml.bind.v2.model.impl.AttributePropertyInfoImpl<T,C,F,M> createAttributeProperty(com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> seed)
protected com.sun.xml.bind.v2.model.impl.ValuePropertyInfoImpl<T,C,F,M> createValueProperty(com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> seed)
protected com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl<T,C,F,M> createElementProperty(com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> seed)
protected com.sun.xml.bind.v2.model.impl.MapPropertyInfoImpl<T,C,F,M> createMapProperty(com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> seed)
protected com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> createFieldSeed(F f)
FieldPropertySeed
object.
Derived class can override this method to create a sub-class.
protected com.sun.xml.bind.v2.model.impl.PropertySeed<T,C,F,M> createAccessorSeed(M getter, M setter)
GetterSetterPropertySeed
object.public final boolean isElement()
isElement
in interface com.sun.xml.bind.v2.model.core.MaybeElement<T,C>
public boolean isAbstract()
isAbstract
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public boolean isOrdered()
isOrdered
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean isFinal()
isFinal
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean hasSubClasses()
hasSubClasses
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean hasAttributeWildcard()
hasAttributeWildcard
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean inheritsAttributeWildcard()
inheritsAttributeWildcard
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final boolean declaresAttributeWildcard()
declaresAttributeWildcard
in interface com.sun.xml.bind.v2.model.core.ClassInfo<T,C>
public final QName getElementName()
getElementName
in interface com.sun.xml.bind.v2.model.core.Element<T,C>
getElementName
in interface com.sun.xml.bind.v2.model.core.MaybeElement<T,C>
public final QName getTypeName()
getTypeName
in interface com.sun.xml.bind.v2.model.core.NonElement<T,C>
public final boolean isSimpleType()
isSimpleType
in interface com.sun.xml.bind.v2.model.core.NonElement<T,C>
public Location getLocation()
getLocation
in interface Locatable
public Method getFactoryMethod()
public Locatable getUpstream()
getUpstream
in interface Locatable
protected final com.sun.xml.bind.v2.model.nav.Navigator<TypeT,ClassDeclT,FieldT,MethodT> nav()
protected final AnnotationReader<TypeT,ClassDeclT,FieldT,MethodT> reader()
protected final QName parseElementName(ClassDeclT clazz)
XmlRootElement
annotation on a class
and determine the element name.protected final QName parseTypeName(ClassDeclT clazz)
protected final QName parseTypeName(ClassDeclT clazz, XmlType t)
XmlType
annotation on a class
and determine the actual value.clazz
- The class on which the XmlType annotation is checked.t
- The XmlType
annotation on the clazz. This value
is taken as a parameter to improve the performance for the case where
't' is pre-computed.Copyright © 2018 Oracle Corporation. All rights reserved.