Class CharRange

java.lang.Object
org.apache.commons.lang3.CharRange
All Implemented Interfaces:
Serializable, Iterable<Character>

final class CharRange extends Object implements Iterable<Character>, Serializable

A contiguous range of characters, optionally negated.

Instances are immutable.

#ThreadSafe#

Since:
1.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static class 
    Character Iterator.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) static final CharRange[]
    Empty array.
    private final char
    The last character, inclusive, in the range.
    private String
    Cached toString.
    private final boolean
    True if the range is everything except the characters specified.
    private static final long
    Required for serialization support.
    private final char
    The first character, inclusive, in the range.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    CharRange(char start, char end, boolean negated)
    Constructs a CharRange over a set of characters, optionally negating the range.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    contains(char ch)
    Is the character specified contained in this range.
    boolean
    Are all the characters of the passed in range contained in this range.
    boolean
    Compares two CharRange objects, returning true if they represent exactly the same range of characters defined in the same way.
    char
    Gets the end character for this character range.
    char
    Gets the start character for this character range.
    int
    Gets a hashCode compatible with the equals method.
    static CharRange
    is(char ch)
    Constructs a CharRange over a single character.
    static CharRange
    isIn(char start, char end)
    Constructs a CharRange over a set of characters.
    boolean
    Is this CharRange negated.
    static CharRange
    isNot(char ch)
    Constructs a negated CharRange over a single character.
    static CharRange
    isNotIn(char start, char end)
    Constructs a negated CharRange over a set of characters.
    Returns an iterator which can be used to walk through the characters described by this range.
    Gets a string representation of the character range.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Required for serialization support. Lang version 2.0.
      See Also:
    • start

      private final char start
      The first character, inclusive, in the range.
    • end

      private final char end
      The last character, inclusive, in the range.
    • negated

      private final boolean negated
      True if the range is everything except the characters specified.
    • iToString

      private transient String iToString
      Cached toString.
    • EMPTY_ARRAY

      static final CharRange[] EMPTY_ARRAY
      Empty array.
  • Constructor Details

    • CharRange

      private CharRange(char start, char end, boolean negated)

      Constructs a CharRange over a set of characters, optionally negating the range.

      A negated range includes everything except that defined by the start and end characters.

      If start and end are in the wrong order, they are reversed. Thus a-e is the same as e-a.

      Parameters:
      start - first character, inclusive, in this range
      end - last character, inclusive, in this range
      negated - true to express everything except the range
  • Method Details

    • is

      public static CharRange is(char ch)

      Constructs a CharRange over a single character.

      Parameters:
      ch - only character in this range
      Returns:
      the new CharRange object
      Since:
      2.5
    • isNot

      public static CharRange isNot(char ch)

      Constructs a negated CharRange over a single character.

      A negated range includes everything except that defined by the single character.

      Parameters:
      ch - only character in this range
      Returns:
      the new CharRange object
      Since:
      2.5
    • isIn

      public static CharRange isIn(char start, char end)

      Constructs a CharRange over a set of characters.

      If start and end are in the wrong order, they are reversed. Thus a-e is the same as e-a.

      Parameters:
      start - first character, inclusive, in this range
      end - last character, inclusive, in this range
      Returns:
      the new CharRange object
      Since:
      2.5
    • isNotIn

      public static CharRange isNotIn(char start, char end)

      Constructs a negated CharRange over a set of characters.

      A negated range includes everything except that defined by the start and end characters.

      If start and end are in the wrong order, they are reversed. Thus a-e is the same as e-a.

      Parameters:
      start - first character, inclusive, in this range
      end - last character, inclusive, in this range
      Returns:
      the new CharRange object
      Since:
      2.5
    • getStart

      public char getStart()

      Gets the start character for this character range.

      Returns:
      the start char (inclusive)
    • getEnd

      public char getEnd()

      Gets the end character for this character range.

      Returns:
      the end char (inclusive)
    • isNegated

      public boolean isNegated()

      Is this CharRange negated.

      A negated range includes everything except that defined by the start and end characters.

      Returns:
      true if negated
    • contains

      public boolean contains(char ch)

      Is the character specified contained in this range.

      Parameters:
      ch - the character to check
      Returns:
      true if this range contains the input character
    • contains

      public boolean contains(CharRange range)

      Are all the characters of the passed in range contained in this range.

      Parameters:
      range - the range to check against
      Returns:
      true if this range entirely contains the input range
      Throws:
      IllegalArgumentException - if null input
    • equals

      public boolean equals(Object obj)

      Compares two CharRange objects, returning true if they represent exactly the same range of characters defined in the same way.

      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare to
      Returns:
      true if equal
    • hashCode

      public int hashCode()

      Gets a hashCode compatible with the equals method.

      Overrides:
      hashCode in class Object
      Returns:
      a suitable hashCode
    • toString

      public String toString()

      Gets a string representation of the character range.

      Overrides:
      toString in class Object
      Returns:
      string representation of this range
    • iterator

      public Iterator<Character> iterator()

      Returns an iterator which can be used to walk through the characters described by this range.

      #NotThreadSafe# the iterator is not thread-safe

      Specified by:
      iterator in interface Iterable<Character>
      Returns:
      an iterator to the chars represented by this range
      Since:
      2.5