net.sf.saxon.regex

Class SurrogateRegexTranslator.CharClass

Enclosing Class:
SurrogateRegexTranslator
Known Direct Subclasses:
SurrogateRegexTranslator.BackReference, SurrogateRegexTranslator.Complement, SurrogateRegexTranslator.Dot, SurrogateRegexTranslator.SimpleCharClass

protected static abstract class SurrogateRegexTranslator.CharClass
extends java.lang.Object

Object representing a character class

Constructor Summary

CharClass(int containsBmp, int containsNonBmp)
Create a character class

Method Summary

void
addNonBmpRanges(List ranges)
Add to a supplied List, ranges of non-BMP characters that are matched by this character class.
int
getContainsBmp()
Determine whether this character class contains NONE, SOME, or ALL of the BMP characters
int
getContainsNonBmp()
Determine whether this character class contains NONE, SOME, or ALL of the non-BMP characters
int
getSingleChar()
If this character class contains a single character, get that character
void
output(FastStringBuffer buf)
Output a representation of this character class to the supplied buffer
abstract void
outputBmp(FastStringBuffer buf)
Output a representation of the subset of this character class that's within the BMP, to a supplied buffer
abstract void
outputComplementBmp(FastStringBuffer buf)
Output a representation of the complement of the subset of this character class that's within the BMP, to a supplied buffer

Constructor Details

CharClass

protected CharClass(int containsBmp,
                    int containsNonBmp)
Create a character class
Parameters:
containsBmp - NONE, SOME, or ALL, depending on whether the character class contains all the BMP characters, some of the BMP characters, or none of the BMP characters
containsNonBmp - NONE, SOME, or ALL, depending on whether the character class contains all the non-BMP characters, some of the non-BMP characters, or none of the non-BMP characters

Method Details

addNonBmpRanges

public void addNonBmpRanges(List ranges)
Add to a supplied List, ranges of non-BMP characters that are matched by this character class. Default implementation does nothing.
Parameters:
ranges - a List to which this method will add zero or more Range objects denoting ranges of non-BMP characters

getContainsBmp

public int getContainsBmp()
Determine whether this character class contains NONE, SOME, or ALL of the BMP characters
Returns:
NONE, SOME, or ALL

getContainsNonBmp

public int getContainsNonBmp()
Determine whether this character class contains NONE, SOME, or ALL of the non-BMP characters
Returns:
NONE, SOME, or ALL

getSingleChar

public int getSingleChar()
If this character class contains a single character, get that character
Returns:
the single character matched by this character class, or -1 if it matches multiple characters

output

public final void output(FastStringBuffer buf)
Output a representation of this character class to the supplied buffer
Parameters:
buf - the supplied buffer

outputBmp

public abstract void outputBmp(FastStringBuffer buf)
Output a representation of the subset of this character class that's within the BMP, to a supplied buffer
Parameters:
buf - the supplied buffer

outputComplementBmp

public abstract void outputComplementBmp(FastStringBuffer buf)
Output a representation of the complement of the subset of this character class that's within the BMP, to a supplied buffer
Parameters:
buf - the supplied buffer