Interface VariantNameIF

  • All Superinterfaces:
    NameIF, ReifiableIF, ScopedIF, TMObjectIF
    All Known Subinterfaces:
    MVariantName
    All Known Implementing Classes:
    ReadOnlyVariantName, SnapshotVariantName, VariantName, VariantName

    public interface VariantNameIF
    extends NameIF, ScopedIF, ReifiableIF
    PUBLIC: Implemented by objects representing variant names for topics. Corresponds to 'variant' elements in the XTM 1.0 syntax; a variant name may belong directly to a topic name, or indirectly via another variant name.

    A variant name either has a literal value (represented directly by the value property, handled using TopicNameIF methods, and correponding to the contents of the 'variantName / resourceData' element in XTM 1.0) or a locator which identifies a resource (corresponding to a 'variantName' element with a 'resourceRef' child element in XTM 1.0). If a locator is present, the value property is null, and the locator of the resource appears in the locator property of the variantName.

    • Method Detail

      • getTopicName

        TopicNameIF getTopicName()
        PUBLIC: Gets the topic name to which this variant name belongs. The topic name may be a direct parent or an ancestor.
        Returns:
        The topic name of which this is a variant; an object implementing TopicNameIF.
      • getDataType

        LocatorIF getDataType()
        PUBLIC: Gets the data type of this variant.
        Since:
        4.0
      • getValue

        String getValue()
        PUBLIC: Gets the string representation of this variant. This method will return null if the length of the value exceeds the supported maximum size.
        Specified by:
        getValue in interface NameIF
        Returns:
        A string which is the value of this topic name.
      • getReader

        Reader getReader()
        PUBLIC: Returns a Reader that allows you to stream the string representation of this variant. Values of all sizes are supported by this method.
        Since:
        4.0
      • setValue

        default void setValue​(String value)
        PUBLIC: Same as setValue(value, DataTypes.TYPE_STRING). This method is here primarily for backwards compatibility.
        Specified by:
        setValue in interface NameIF
        Parameters:
        value - A string which is the value of this topic name.
      • getLocator

        default LocatorIF getLocator()
        PUBLIC: Returns a LocatorIF representation of the variant value. This method will return null if the value is not of type xsd:anyURI (same as DataType.TYPE_URI). This method is here primarily for backwards compatibility.
      • setLocator

        default void setLocator​(LocatorIF locator)
        PUBLIC: Same as setValue(locator.getAddress(), DataTypes.TYPE_URI). This method is here primarily for backwards compatibility.
      • setValue

        void setValue​(String value,
                      LocatorIF datatype)
        PUBLIC: Sets the value and the data type of this variant using a string. The value must conform to the correct string representation according to the datatype.
        Since:
        4.0
      • setReader

        void setReader​(Reader value,
                       long length,
                       LocatorIF datatype)
        PUBLIC: Sets the value and the data type of this variant using a reader. The reader value must conform to the correct string representation according to the datatype.
        Since:
        4.0
      • getLength

        long getLength()
        PUBLIC: Returns the length of the variant value. The number of characters in the string representation is returned.
        Since:
        4.0