public interface ClassInfo<T,C> extends MaybeElement<T,C>
All the JAXB annotations are already reflected to the model so that the caller doesn't have to worry about them. For this reason, you cannot access annotations on properties.
A JAXB-bound class always have at least one representation (called "type representation"),but it can optionally have another representation ("element representation").
In the type representaion, a class
is represented as a set of attributes and (elements or values).
You can inspect the details of those attributes/elements/values by getProperties()
.
This representation corresponds to a complex/simple type in XML Schema.
You can obtain the schema type name by NonElement.getTypeName()
.
If a class has an element representation, MaybeElement.isElement()
returns true.
This representation is mostly similar to the type representation
except that the whoe attributes/elements/values are wrapped into
one element. You can obtain the name of this element through MaybeElement.asElement()
.
ANYTYPE_NAME
Modifier and Type | Method and Description |
---|---|
boolean |
declaresAttributeWildcard()
Returns true iff this class declares a wildcard attribute.
|
ClassInfo<T,C> |
getBaseClass()
Obtains the information about the base class.
|
C |
getClazz()
Gets the declaration this object is wrapping.
|
String |
getName()
Gets the fully-qualified name of the class.
|
List<? extends PropertyInfo<T,C>> |
getProperties()
Returns all the properties newly declared in this class.
|
PropertyInfo<T,C> |
getProperty(String name)
Gets the property that has the specified name.
|
boolean |
hasAttributeWildcard()
Returns true if this bean class has an attribute wildcard.
|
boolean |
hasProperties()
If the class has properties, return true.
|
boolean |
hasSubClasses()
True if there's a known sub-type of this class in
TypeInfoSet . |
boolean |
hasValueProperty()
Returns true if this class or its ancestor has
XmlValue
property. |
boolean |
inheritsAttributeWildcard()
Returns true iff this class inherits a wildcard attribute
from its ancestor classes.
|
boolean |
isAbstract()
If this class is abstract and thus shall never be directly instanciated.
|
boolean |
isFinal()
If this class is marked as final and no further extension/restriction is allowed.
|
boolean |
isOrdered()
Returns true if the properties of this class is ordered in XML.
|
asElement, getElementName, isElement
getTypeName, isSimpleType
canBeReferencedByIDREF, getType
getLocation, getUpstream
ClassInfo<T,C> getBaseClass()
Object
.C getClazz()
String getName()
List<? extends PropertyInfo<T,C>> getProperties()
This excludes properties defined in the super class.
If the properties are ordered
,
it will be returned in the order that appear in XML.
Otherwise it will be returned in no particular order.
Properties marked with XmlTransient
will not show up
in this list. As far as JAXB is concerned, they are considered
non-existent.
boolean hasValueProperty()
XmlValue
property.PropertyInfo<T,C> getProperty(String name)
This is just a convenience method for:
for( PropertyInfo p : getProperties() ) { if(p.getName().equals(name)) return p; } return null;
PropertyInfo.getName()
boolean hasProperties()
getProperties()
is not empty.boolean isAbstract()
boolean isOrdered()
In RELAX NG context, ordered properties mean <group> and unordered properties mean <interleave>.
boolean isFinal()
boolean hasSubClasses()
TypeInfoSet
.boolean hasAttributeWildcard()
This is true if the class declares an attribute wildcard, or it is inherited from its super classes.
inheritsAttributeWildcard()
boolean inheritsAttributeWildcard()
boolean declaresAttributeWildcard()
Copyright © 2017 JBoss by Red Hat. All rights reserved.