Top Description Methods
org.glassfish.jaxb.core.v2.model.core

public Interface ClassInfo<T, C>

extends MaybeElement<T, C>
Known Direct Subinterfaces
org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeClassInfo
Known Direct Implementers
org.glassfish.jaxb.runtime.v2.model.impl.ClassInfoImpl, com.sun.tools.xjc.model.CClassInfo
Imports
java.util.List, jakarta.xml.bind.annotation.XmlTransient, .XmlValue

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 by getTypeName().

If a class has an element representation, 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 asElement().

Author
Kohsuke Kawaguchi ([email protected])

Method Summary

Modifier and TypeMethod and Description
public boolean
declaresAttributeWildcard()

Returns true iff this class declares a wildcard attribute.

public ClassInfo<T, C>

Returns:

null if this info extends from Object.
getBaseClass
()

Obtains the information about the base class.

public C
getClazz()

Gets the declaration this object is wrapping.

public String
getName()

Gets the fully-qualified name of the class.

public List<? extends PropertyInfo<T, C>>

Returns:

always non-null, but can be empty.
getProperties
()

Returns all the properties newly declared in this class.

public PropertyInfo<T, C>

Returns:

null if the property was not found.
getProperty
(String name)

Gets the property that has the specified name.

public boolean
hasAttributeWildcard()

Returns true if this bean class has an attribute wildcard.

public boolean
hasProperties()

If the class has properties, return true.

public boolean
hasSubClasses()

True if there's a known sub-type of this class in TypeInfoSet.

public boolean
hasValueProperty()

Returns true if this class or its ancestor has XmlValue property.

public boolean
inheritsAttributeWildcard()

Returns true iff this class inherits a wildcard attribute from its ancestor classes.

public boolean
isAbstract()

If this class is abstract and thus shall never be directly instanciated.

public boolean
isFinal()

If this class is marked as final and no further extension/restriction is allowed.

public boolean
isOrdered()

Returns true if the properties of this class is ordered in XML.

Inherited from org.glassfish.jaxb.core.v2.model.core.MaybeElement:
asElementgetElementNameisElement

Method Detail

declaresAttributeWildcardback to summary
public boolean declaresAttributeWildcard()

Returns true iff this class declares a wildcard attribute.

getBaseClassback to summary
public ClassInfo<T, C> getBaseClass()

Obtains the information about the base class.

Returns:ClassInfo<T, C>

null if this info extends from Object.

getClazzback to summary
public C getClazz()

Gets the declaration this object is wrapping.

getNameback to summary
public String getName()

Gets the fully-qualified name of the class.

getPropertiesback to summary
public 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:List<? extends PropertyInfo<T, C>>

always non-null, but can be empty.

getPropertyback to summary
public PropertyInfo<T, C> getProperty(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:PropertyInfo<T, C>

null if the property was not found.

See Also
PropertyInfo#getName()
hasAttributeWildcardback to summary
public 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()
hasPropertiesback to summary
public boolean hasProperties()

If the class has properties, return true. This is only true if the Collection object returned by getProperties() is not empty.

hasSubClassesback to summary
public boolean hasSubClasses()

True if there's a known sub-type of this class in TypeInfoSet.

hasValuePropertyback to summary
public boolean hasValueProperty()

Returns true if this class or its ancestor has XmlValue property.

inheritsAttributeWildcardback to summary
public boolean inheritsAttributeWildcard()

Returns true iff this class inherits a wildcard attribute from its ancestor classes.

isAbstractback to summary
public boolean isAbstract()

If this class is abstract and thus shall never be directly instanciated.

isFinalback to summary
public boolean isFinal()

If this class is marked as final and no further extension/restriction is allowed.

isOrderedback to summary
public 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>.