Interface Location

All Superinterfaces:
Comparable<Location>
All Known Implementing Classes:
AbstractLocation, DefaultLocation, TextFileLocation, WorkbookLocation

public interface Location extends Comparable<Location>
Base interface used to describe a location inside a resource.

It is composed of 2 parts:

  • external: the path to a resource,
  • internal: the anchor that optionally designates something inside the resource.
Author:
Damien Carbonne
  • Field Details

    • UNDEFINED

      static final Location UNDEFINED
    • SEPARATOR

      static final String SEPARATOR
      The string used to join the different parts (tag::path::anchor) of a location.
      See Also:
  • Method Details

    • getTag

      default String getTag()
      Returns:
      The string used to identify the implementation of this interface. It is used in serialization.
      See Also:
    • getPath

      String getPath()
      Returns:
      The external part of the location, the path of the designated resource.
      It is typically a file name, an URI, a kind of 'absolute' identifier.
    • getAnchor

      String getAnchor()
      Returns:
      The internal part of the location, inside the resource. It may be null.
    • hasAnchor

      default boolean hasAnchor()
      Returns:
      true if this location has a meaningful anchor.
    • compareTo

      default int compareTo(Location other)
      Specified by:
      compareTo in interface Comparable<Location>
    • toString

      default String toString(boolean addTag)
    • toString

      static String toString(Location location, boolean addTag)
      Encodes a Location to a String.

      The result is encoded as Tag::Path[::Anchor] or as Path[::Anchor],* depending on the value of addTag.

      WARRNING: if tag is missing, one can not reconstruct the original location from the string representation.

      Parameters:
      location - The location.
      addTag - If true, the location tag is included.
      Returns:
      A String representation of location.
    • toString

      static String toString(Location location)
      Encodes a Location to a String.

      The result is encoded as Tag::Path[::Anchor].

      Parameters:
      location - The location.
      Returns:
      A String representation of location.
    • getTag

      static String getTag(String location)
      Parameters:
      location - The string encoding of a Location.
      Returns:
      The Tag part of location.
    • getPath

      static String getPath(String location)
      Parameters:
      location - The string encoding of a Location.
      Returns:
      The Path part of location.
    • getAnchor

      static String getAnchor(String location)
      Parameters:
      location - The string encoding of a Location.
      Returns:
      The Anchor part of location.
    • builder

      static Location.Builder builder()