java.lang.Object
com.inductiveautomation.ignition.common.tags.paths.AbstractTagPath
com.inductiveautomation.ignition.common.tags.paths.BasicTagPath
All Implemented Interfaces:
Path, TagPath, Serializable, Comparable<TagPath>

public class BasicTagPath extends AbstractTagPath implements Serializable
See Also:
  • Field Details

    • EMPTY_LIST

      protected static final List<String> EMPTY_LIST
    • pathParts

      protected List<String> pathParts
    • source

      protected String source
    • prop

      protected Property<?> prop
    • parent

      protected transient TagPath parent
  • Constructor Details

    • BasicTagPath

      public BasicTagPath(String source, List<String> pathParts, Property<?> prop)
      Creates a tag path to a tag's property
    • BasicTagPath

      public BasicTagPath(String source, List<String> pathParts)
      Creates a tag path to a folder. System will be null.
    • BasicTagPath

      public BasicTagPath(String source)
  • Method Details

    • renameParentFolder

      public static BasicTagPath renameParentFolder(TagPath path, TagPath newParent)
      Creates a path equal to the original, but with the new name specified by newParent. The parent cannot change length, it can only be renamed.
    • append

      public static TagPath append(@Nullable TagPath root, TagPath other)
      Takes a folder path, and appends the second tag path on to it. The returned tag will have the source and system of the root path, unless the root path source/system are null (not just empty string).
    • append

      public static TagPath append(TagPath root, String name)
      Extends the tag path by the given name. Similar to getChildPath, however this static version will accept a null value for parent, and will generate a new path with just the name if necessary.
    • copy

      public static BasicTagPath copy(TagPath path)
    • subPath

      public static BasicTagPath subPath(TagPath path, int start, int len)
      Returns a sub portion of the path. If the specified length covers the last component, the source path's property will be included in the resulting path as well. Does NOT include the source, because this is now intended to be a relative path to the original one.
    • subPath

      public static BasicTagPath subPath(TagPath parent, TagPath child)
      Returns a sub portion of the child path that extends beyond the parent path. Source will be empty, and the property will only be included if set on the child.
    • setPathParts

      protected void setPathParts(List<String> parts)
    • getItemName

      public String getItemName()
      Description copied from interface: TagPath
      Returns the name of the item at the end of the path that this path points to. This will be a tag name or a folder name.
      Specified by:
      getItemName in interface TagPath
    • getLastPathComponent

      public String getLastPathComponent()
      Description copied from interface: Path
      Convenience function to return the last path element.
      Specified by:
      getLastPathComponent in interface Path
    • getParentPath

      public TagPath getParentPath()
      Returns the path to the parent folder.
      Specified by:
      getParentPath in interface Path
      Specified by:
      getParentPath in interface TagPath
    • setParent

      protected void setParent(TagPath value)
    • getProperty

      public Property<?> getProperty()
      Description copied from interface: TagPath
      Returns the type of property in the tag that this path is referencing.
      Specified by:
      getProperty in interface TagPath
    • getSource

      public String getSource()
      Description copied from interface: TagPath
      Returns the source for this tag path. Some tag paths don't have a source, indicating that they may be a relative, or they may wish to use a default source.
      Specified by:
      getSource in interface TagPath
    • getPathComponent

      public String getPathComponent(int i)
      Description copied from interface: Path
      Returns the path element at the specified location.
      Specified by:
      getPathComponent in interface Path
    • getPathLength

      public int getPathLength()
      Description copied from interface: Path
      Returns the number of elements in the path, which can be retrieved through getPathComponent().
      Specified by:
      getPathLength in interface Path
    • getChildPath

      public TagPath getChildPath(String nextId)
      Description copied from interface: TagPath
      Returns a path below the current path.
      Specified by:
      getChildPath in interface TagPath
    • createDerivedTagPath

      protected static TagPath createDerivedTagPath(TagPath parent, String source, List<String> parts, Property<?> prop)