org.apache.commons.lang

Class CharRange

Implemented Interfaces:
Serializable

public final class CharRange
extends Object
implements Serializable

A contiguous range of characters, optionally negated.

Instances are immutable.

Since:
1.0
See Also:
Serialized Form

Constructor Summary

CharRange(char ch)
Constructs a CharRange over a single character.
CharRange(char ch, boolean negated)
Constructs a CharRange over a single character, optionally negating the range.
CharRange(char start, char end)
Constructs a CharRange over a set of characters.
CharRange(char start, char end, boolean negated)
Constructs a CharRange over a set of characters, optionally negating the range.

Method Summary

boolean
contains(char ch)
Is the character specified contained in this range.
boolean
contains(CharRange range)
Are all the characters of the passed in range contained in this range.
boolean
equals(Object obj)
Compares two CharRange objects, returning true if they represent exactly the same range of characters defined in the same way.
char
getEnd()
Gets the end character for this character range.
char
getStart()
Gets the start character for this character range.
int
hashCode()
Gets a hashCode compatible with the equals method.
boolean
isNegated()
Is this CharRange negated.
String
toString()
Gets a string representation of the character range.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

CharRange

public CharRange(char ch)
Constructs a CharRange over a single character.
Parameters:
ch - only character in this range

CharRange

public CharRange(char ch,
                 boolean negated)
Constructs a CharRange over a single character, optionally negating the range.

A negated range includes everything except the specified char.

Parameters:
ch - only character in this range
negated - true to express everything except the range

CharRange

public CharRange(char start,
                 char end)
Constructs a CharRange over a set of characters.
Parameters:
start - first character, inclusive, in this range
end - last character, inclusive, in this range

CharRange

public 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

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 interface Object
Parameters:
obj - the object to compare to
Returns:
true if equal

getEnd

public char getEnd()
Gets the end character for this character range.
Returns:
the end char (inclusive)

getStart

public char getStart()
Gets the start character for this character range.
Returns:
the start char (inclusive)

hashCode

public int hashCode()
Gets a hashCode compatible with the equals method.
Overrides:
hashCode in interface Object
Returns:
a suitable hashCode

isNegated

public boolean isNegated()
Is this CharRange negated.

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

Returns:
true is negated

toString

public String toString()
Gets a string representation of the character range.
Overrides:
toString in interface Object
Returns:
string representation of this range