Package jflex.chars
Class Interval
- java.lang.Object
-
- jflex.chars.Interval
-
- All Implemented Interfaces:
java.lang.Iterable<java.lang.Integer>
public final class Interval extends java.lang.Object implements java.lang.Iterable<java.lang.Integer>A mutable interval of characters with basic operations.- Version:
- JFlex 1.9.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classInterval.IntervalIteratorIterator for enumerating the elements of this Interval
-
Constructor Summary
Constructors Constructor Description Interval(int start, int end)Constructs a new interval fromstarttoend, including both end points.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(int point)Returnstrueiffpointis contained in this interval.booleancontains(Interval other)Returntrueiff this interval completely contains the other one.static IntervalcopyOf(Interval interval)Creates a copy of the interval.booleanequals(java.lang.Object o)Returnstrueifois an interval with the same borders.inthashCode()booleaninvariants()Checks the invariants of this object.private static booleanisPrintable(int c)Returns whether a character is printable.Interval.IntervalIteratoriterator()static IntervalofCharacter(int c)Creates an interval of a single character.intsize()Computes the size of this interval.java.lang.StringtoString()Returns a String representation of this interval.
-
-
-
Method Detail
-
contains
public boolean contains(int point)
Returnstrueiffpointis contained in this interval.- Parameters:
point- the character codepoint to check- Returns:
- whether the code point is contained in the interval.
-
contains
public boolean contains(Interval other)
Returntrueiff this interval completely contains the other one.- Parameters:
other- the other interval- Returns:
- whether this interval completely contains the other one.
-
equals
public boolean equals(java.lang.Object o)
Returnstrueifois an interval with the same borders.- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
isPrintable
private static boolean isPrintable(int c)
Returns whether a character is printable.- Parameters:
c- the codepoint to check
-
toString
public java.lang.String toString()
Returns a String representation of this interval.- Overrides:
toStringin classjava.lang.Object- Returns:
- a string "
[start-end]" or "[start]" (if there is only one character in the interval) wherestartandendare either a number (the character code) or something of the from'a'.
-
ofCharacter
public static Interval ofCharacter(int c)
Creates an interval of a single character.- Parameters:
c- The unique codepoint contained in this interval.- Returns:
- A single-character interval.
-
copyOf
public static Interval copyOf(Interval interval)
Creates a copy of the interval.- Returns:
- the copy of the given interval.
-
size
public int size()
Computes the size of this interval.- Returns:
- how many characters this interval spans
-
invariants
public boolean invariants()
Checks the invariants of this object.- Returns:
- true when the invariants of this objects hold.
-
iterator
public Interval.IntervalIterator iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<java.lang.Integer>
-
-