net.sf.saxon.functions.regex
Class RegexTranslator
java.lang.Object
net.sf.saxon.functions.regex.RegexTranslator
- Direct Known Subclasses:
- JDK15RegexTranslator
public abstract class RegexTranslator
- extends Object
Abstract superclass for the various regex translators, which differ according to the target platform.
Nested Class Summary |
static class |
RegexTranslator.Range
A Range represents a range of consecutive Unicode codepoints |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
regExp
protected CharSequence regExp
xmlVersion
protected int xmlVersion
xsdVersion
protected int xsdVersion
isXPath
protected boolean isXPath
isXPath30
protected boolean isXPath30
ignoreWhitespace
protected boolean ignoreWhitespace
inCharClassExpr
protected boolean inCharClassExpr
caseBlind
protected boolean caseBlind
expandComplementBlockNames
protected boolean expandComplementBlockNames
pos
protected int pos
length
protected int length
curChar
protected char curChar
eos
protected boolean eos
currentCapture
protected int currentCapture
captures
protected IntHashSet captures
result
protected final FastStringBuffer result
warnings
protected List<RegexSyntaxException> warnings
NONE
public static final int NONE
- See Also:
- Constant Field Values
SOME
public static final int SOME
- See Also:
- Constant Field Values
ALL
public static final int ALL
- See Also:
- Constant Field Values
SURROGATES1_CLASS
public static final String SURROGATES1_CLASS
- See Also:
- Constant Field Values
SURROGATES2_CLASS
public static final String SURROGATES2_CLASS
- See Also:
- Constant Field Values
NOT_ALLOWED_CLASS
public static final String NOT_ALLOWED_CLASS
- See Also:
- Constant Field Values
RegexTranslator
public RegexTranslator()
translateTop
protected void translateTop()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
translateRegExp
protected void translateRegExp()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
translateBranch
protected void translateBranch()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
translateAtom
protected abstract boolean translateAtom()
throws RegexSyntaxException
- If what follows is an Atom, translate it and return true; otherwise return false
- Returns:
- true if we found an atom
- Throws:
RegexSyntaxException
- if the regex syntax is incorrect
translateQuantifier
protected void translateQuantifier()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
translateQuantity
protected void translateQuantity()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
parseQuantExact
protected CharSequence parseQuantExact()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
copyCurChar
protected void copyCurChar()
advance
protected void advance()
absorbSurrogatePair
protected int absorbSurrogatePair()
throws RegexSyntaxException
- Throws:
RegexSyntaxException
recede
protected void recede()
expect
protected void expect(char c)
throws RegexSyntaxException
- Throws:
RegexSyntaxException
makeException
protected RegexSyntaxException makeException(String key)
makeException
protected RegexSyntaxException makeException(String key,
String arg)
isJavaMetaChar
protected static boolean isJavaMetaChar(int c)
highSurrogateRanges
protected static String highSurrogateRanges(List<RegexTranslator.Range> ranges)
lowSurrogateRanges
protected static String lowSurrogateRanges(List<RegexTranslator.Range> ranges)
isAsciiAlnum
protected static boolean isAsciiAlnum(char c)
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.