Class IndexRange

java.lang.Object
org.parboiled.support.IndexRange

public final class IndexRange extends Object
A simple immutable container for a range of indices into an underlying InputBuffer.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final IndexRange
     
    final int
    The index of the character following the last character of the range.
    final int
    The index of the first character in the range.
  • Constructor Summary

    Constructors
    Constructor
    Description
    IndexRange(int start, int end)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    int
     
    boolean
    Determines whether this range contains no characters.
    boolean
    Determines whether this range is immediated followed by the given other one.
    boolean
    Determines whether this range immediated follows the given other one.
    int
     
    Created a new IndexRange that spans all characters between the smallest and the highest index of the two ranges.
    boolean
    Determines whether this range overlaps with the given other one.
     
    boolean
    Determines whether this range immediated follows or precedes the given other one.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • EMPTY

      public static final IndexRange EMPTY
    • start

      public final int start
      The index of the first character in the range.
    • end

      public final int end
      The index of the character following the last character of the range.
  • Constructor Details

    • IndexRange

      public IndexRange(int start, int end)
  • Method Details

    • isEmpty

      public boolean isEmpty()
      Determines whether this range contains no characters.
      Returns:
      true if the end matches the start of the range.
    • length

      public int length()
      Returns:
      the number of characters covered by this range
    • overlapsWith

      public boolean overlapsWith(IndexRange other)
      Determines whether this range overlaps with the given other one.
      Parameters:
      other - the other range
      Returns:
      true if there is at least one index that is contained in both ranges
    • isPrecededBy

      public boolean isPrecededBy(IndexRange other)
      Determines whether this range immediated follows the given other one.
      Parameters:
      other - the other range
      Returns:
      true if this range immediated follows the given other one
    • isFollowedBy

      public boolean isFollowedBy(IndexRange other)
      Determines whether this range is immediated followed by the given other one.
      Parameters:
      other - the other range
      Returns:
      true if this range is immediated followed by the given other one
    • touches

      public boolean touches(IndexRange other)
      Determines whether this range immediated follows or precedes the given other one.
      Parameters:
      other - the other range
      Returns:
      true if this range immediated follows or precedes the given other one.
    • mergedWith

      public IndexRange mergedWith(IndexRange other)
      Created a new IndexRange that spans all characters between the smallest and the highest index of the two ranges.
      Parameters:
      other - the other range
      Returns:
      a new IndexRange instance
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object