Interface PropertyInfo<T,C>
-
- All Superinterfaces:
AnnotationSource
- All Known Subinterfaces:
AttributePropertyInfo<T,C>
,ElementPropertyInfo<T,C>
,MapPropertyInfo<T,C>
,ReferencePropertyInfo<T,C>
,RuntimeAttributePropertyInfo
,RuntimeElementPropertyInfo
,RuntimeMapPropertyInfo
,RuntimePropertyInfo
,RuntimeReferencePropertyInfo
,RuntimeValuePropertyInfo
,ValuePropertyInfo<T,C>
- All Known Implementing Classes:
CAttributePropertyInfo
,CElementPropertyInfo
,CPropertyInfo
,CReferencePropertyInfo
,CValuePropertyInfo
public interface PropertyInfo<T,C> extends AnnotationSource
Information about a JAXB-bound property.All the JAXB annotations are already incorporated into the model so that the caller doesn't have to worry about reading them. For this reason, you cannot access annotations on properties directly. TODO: don't we need a visitor?
- Author:
- Kohsuke Kawaguchi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
displayName()
Gets the display name of the property.Adapter<T,C>
getAdapter()
jakarta.activation.MimeType
getExpectedMimeType()
Expected MIME type, if any.String
getName()
Gets the name of the property.QName
getSchemaType()
The effective value ofXmlSchemaType
annotation, if any.ID
id()
Returns the IDness of the value of this element.boolean
inlineBinaryData()
If this is true and this property indeed represents a binary data, it should be always inlined.boolean
isCollection()
Returns true if this is a multi-valued collection property.PropertyKind
kind()
Gets the kind of this property.TypeInfo<T,C>
parent()
Gets theClassInfo
orElementInfo
to which this property belongs.Collection<? extends TypeInfo<T,C>>
ref()
List ofTypeInfo
s that this property references.-
Methods inherited from interface org.glassfish.jaxb.core.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotation
-
-
-
-
Method Detail
-
parent
TypeInfo<T,C> parent()
Gets theClassInfo
orElementInfo
to which this property belongs.
-
getName
String getName()
Gets the name of the property.For example, "foo" or "bar". Generally, a property name is different from XML, (although they are often related, as a property name is often computed from tag names / attribute names.) In fact, property names do not directly affect XML. The property name uniquely identifies a property within a class.
- See Also:
XmlType.propOrder()
-
displayName
String displayName()
Gets the display name of the property.This is a convenience method for
parent().getName()+'#'+getName()
.
-
isCollection
boolean isCollection()
Returns true if this is a multi-valued collection property. Otherwise false, in which case the property is a single value.
-
ref
Collection<? extends TypeInfo<T,C>> ref()
List ofTypeInfo
s that this property references. This allows the caller to traverse the reference graph without getting into the details of each different property type.- Returns:
- non-null read-only collection.
-
kind
PropertyKind kind()
Gets the kind of this property.- Returns:
- always non-null.
-
id
ID id()
Returns the IDness of the value of this element.- Returns:
- always non-null
- See Also:
XmlID
,XmlIDREF
-
getExpectedMimeType
jakarta.activation.MimeType getExpectedMimeType()
Expected MIME type, if any.
-
inlineBinaryData
boolean inlineBinaryData()
If this is true and this property indeed represents a binary data, it should be always inlined.
-
getSchemaType
@Nullable QName getSchemaType()
The effective value ofXmlSchemaType
annotation, if any.If the property doesn't have
XmlSchemaType
annotation, this method returns null.Since a type name is a property of a Java type, not a Java property, A schema type name of a Java type should be primarily obtained by using
NonElement.getTypeName()
. This method is to correctly implement the ugly semantics ofXmlSchemaType
(namely when this returns non-null, it overrides the type names of all types that are in this property.)
-
-