Interface ReferencePropertyInfo<T,​C>

    • Method Detail

      • 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.