Interface ClassInfo<T,C>
-
- All Superinterfaces:
Locatable
,MaybeElement<T,C>
,NonElement<T,C>
,TypeInfo<T,C>
- All Known Subinterfaces:
RuntimeClassInfo
- All Known Implementing Classes:
CClassInfo
,ClassInfoImpl
public interface ClassInfo<T,C> extends MaybeElement<T,C>
Information about JAXB-bound class.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.
XML representation
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 byNonElement.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 throughMaybeElement.asElement()
.- Author:
- Kohsuke Kawaguchi (kk@kohsuke.org)
-
-
Field Summary
-
Fields inherited from interface com.sun.xml.bind.v2.model.core.NonElement
ANYTYPE_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.java.lang.String
getName()
Gets the fully-qualified name of the class.java.util.List<? extends PropertyInfo<T,C>>
getProperties()
Returns all the properties newly declared in this class.PropertyInfo<T,C>
getProperty(java.lang.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 inTypeInfoSet
.boolean
hasValueProperty()
Returns true if this class or its ancestor hasXmlValue
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.-
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.Locatable
getLocation, getUpstream
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.MaybeElement
asElement, getElementName, isElement
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.NonElement
getTypeName, isSimpleType
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.TypeInfo
canBeReferencedByIDREF, getType
-
-
-
-
Method Detail
-
getBaseClass
ClassInfo<T,C> getBaseClass()
Obtains the information about the base class.- Returns:
- null
if this info extends from
Object
.
-
getClazz
C getClazz()
Gets the declaration this object is wrapping.
-
getName
java.lang.String getName()
Gets the fully-qualified name of the class.
-
getProperties
java.util.List<? extends PropertyInfo<T,C>> getProperties()
Returns all the properties newly declared in this class.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.- Returns:
- always non-null, but can be empty.
-
hasValueProperty
boolean hasValueProperty()
Returns true if this class or its ancestor hasXmlValue
property.
-
getProperty
PropertyInfo<T,C> getProperty(java.lang.String name)
Gets the property that has the specified name.This is just a convenience method for:
for( PropertyInfo p : getProperties() ) { if(p.getName().equals(name)) return p; } return null;
- Returns:
- null if the property was not found.
- See Also:
PropertyInfo.getName()
-
hasProperties
boolean hasProperties()
If the class has properties, return true. This is only true if the Collection object returned bygetProperties()
is not empty.
-
isAbstract
boolean isAbstract()
If this class is abstract and thus shall never be directly instanciated.
-
isOrdered
boolean isOrdered()
Returns true if the properties of this class is ordered in XML. False if it't not.In RELAX NG context, ordered properties mean
<group>
and unordered properties mean<interleave>
.
-
isFinal
boolean isFinal()
If this class is marked as final and no further extension/restriction is allowed.
-
hasSubClasses
boolean hasSubClasses()
True if there's a known sub-type of this class inTypeInfoSet
.
-
hasAttributeWildcard
boolean hasAttributeWildcard()
Returns true if this bean class has an attribute wildcard.This is true if the class declares an attribute wildcard, or it is inherited from its super classes.
- See Also:
inheritsAttributeWildcard()
-
inheritsAttributeWildcard
boolean inheritsAttributeWildcard()
Returns true iff this class inherits a wildcard attribute from its ancestor classes.
-
declaresAttributeWildcard
boolean declaresAttributeWildcard()
Returns true iff this class declares a wildcard attribute.
-
-