Interface TagConfiguration

All Superinterfaces:
BoundPropertySet, Countable, Extendable<PropertySet>, Iterable<PropertyValue>, Mergable<PropertySet>, MutablePropertyValueSource, PropertySet, PropertyValueSource, Serializable
All Known Subinterfaces:
TagConfigurationModel
All Known Implementing Classes:
BasicTagConfiguration, BasicTagConfigurationModel

public interface TagConfiguration extends BoundPropertySet
A TagConfiguration represent the local configuration of a single tag node. "Local" means it is not a composite of inherited properties, in the case of complex tags- these properties are the configuration for this specific node. It is fundamentally a property set, but with additional information about the tag. Most importantly it has the path (real or desired) of the configuration, which includes the tag name. It also has information about whether the item is new or removed. While name, path, and type all have "helper" functions that delegate to set() for the properties that correspond to those fields, isNew and isRemoved do not have corresponding properties. The most common implementation is BasicTagConfiguration, which also has static functions for instantiating. For full editing of tags, especially UDTs, this class is used in conjunction with the TagConfigurationModel, which provides both the local config, and inherited config- as well as other important information.
  • Method Details

    • isNew

      boolean isNew()
    • setNew

      void setNew(boolean value)
    • isRemoved

      boolean isRemoved()
    • getName

      String getName()
    • setName

      void setName(String name)
    • getPath

      TagPath getPath()
    • setPath

      void setPath(TagPath path)
    • getType

      TagObjectType getType()
    • setType

      void setType(TagObjectType type)
    • getChildren

      List<? extends TagConfiguration> getChildren()
      This provides configurations for children under this node. The reason for doing this instead is mostly to provide edits to a node and children as a structured, atomic transaction- any node can be configured at any time with a single TagConfiguration. Children are typically members of a data type, though they could also be tags in a folder. Important: it is expected that the tag paths of these children are RELATIVE to the path provided here.
      Returns:
      a list of children configurations, or an empty list. Does not return null.
    • addChild

      void addChild(TagConfiguration child)
    • getTagProperties

      BoundPropertySet getTagProperties()
      Returns just the properties of this tag.