Interface ReferencePropertyInfo<T,C>

All Superinterfaces:
AnnotationSource, PropertyInfo<T,C>
All Known Subinterfaces:
RuntimeReferencePropertyInfo
All Known Implementing Classes:
CReferencePropertyInfo

public interface ReferencePropertyInfo<T,C> extends PropertyInfo<T,C>
PropertyInfo that holds references to other Elements.
Author:
Kohsuke Kawaguchi
  • Method Details

    • getElements

      Set<? extends Element<T,C>> getElements()
      Returns the information about the possible elements in this property.

      As of 2004/08/17, the spec only allows you to use different element names when a property is a collection, but I think there's really no reason to limit it there --- if the user wants to use a different tag name for different objects, I don't see why this can be limited to collections.

      So this is a generalization of the spec. We always allow a property to have multiple types and use different tag names for it, depending on the actual type.

      In most of the cases, this collection only contains 1 item. So the runtime system is encouraged to provide a faster code-path that is optimized toward such cases.

      Returns:
      Always non-null. Contains at least one entry.
    • ref

      Collection<? extends TypeInfo<T,C>> ref()
      List of TypeInfos that this property references. This allows the caller to traverse the reference graph without getting into the details of each different property type.. If this ReferencePropertyInfo has a wildcard in it, then the returned list will contain WildcardTypeInfo.
      Specified by:
      ref in interface PropertyInfo<T,C>
      Returns:
      non-null read-only collection.
    • getXmlName

      QName getXmlName()
      Gets the wrapper element name.
      Returns:
      must be null if not collection. If the property is a collection, this can be null (in which case there'll be no wrapper), or it can be non-null (in which case there'll be a wrapper)
    • isCollectionNillable

      boolean isCollectionNillable()
      Returns true if this property is nillable (meaning the absence of the value is treated as nil='true')

      This method is only used when this property is a collection.

    • isCollectionRequired

      boolean isCollectionRequired()
      Checks if the wrapper element is required.
      Returns:
      Always false if getXmlName()==null.
    • isMixed

      boolean isMixed()
      Returns true if this property can hold Strings to represent mixed content model.
    • getWildcard

      WildcardMode getWildcard()
      If this property supports the wildcard, returns its mode.
      Returns:
      null if the wildcard is not allowed on this element.
    • getDOMHandler

      C getDOMHandler()
      If this property supports the wildcard, returns its DOM handler.
      Returns:
      null if the wildcard is not allowed on this element.
    • isRequired

      boolean isRequired()
      Returns true if this element is mandatory.
    • getAdapter

      Adapter<T,C> getAdapter()
      Specified by:
      getAdapter in interface PropertyInfo<T,C>
      Returns:
      null if the property is not adapted.