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.

  • Field Details

  • Method Details

    • 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