Package org.htmlunit.javascript.regexp
Class HtmlUnitRegExpProxy
- java.lang.Object
-
- org.htmlunit.corejs.javascript.regexp.RegExpImpl
-
- org.htmlunit.javascript.regexp.HtmlUnitRegExpProxy
-
- All Implemented Interfaces:
org.htmlunit.corejs.javascript.RegExpProxy
public class HtmlUnitRegExpProxy extends org.htmlunit.corejs.javascript.regexp.RegExpImplBegins customization of JavaScript RegExp base on JDK regular expression support.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classHtmlUnitRegExpProxy.RegExpDataprivate static classHtmlUnitRegExpProxy.RegExStickyNotSupportedExceptionprivate static classHtmlUnitRegExpProxy.StaticStringMatcherSimple helper.
-
Field Summary
Fields Modifier and Type Field Description private static org.apache.commons.logging.LogLOGprivate static java.util.Map<java.lang.String,java.util.regex.Pattern>PATTENSPattern cacheprivate org.htmlunit.corejs.javascript.RegExpProxywrapped_
-
Constructor Summary
Constructors Constructor Description HtmlUnitRegExpProxy(org.htmlunit.corejs.javascript.RegExpProxy wrapped)Wraps a proxy to enhance it.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectaction(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)Use the wrapped proxy except for replacement with string arg where it uses Java regular expression.java.lang.ObjectcompileRegExp(org.htmlunit.corejs.javascript.Context cx, java.lang.String source, java.lang.String flags)(package private) java.lang.StringcomputeReplacementValue(java.lang.String replacement, java.lang.String originalString, java.util.regex.MatchResult matcher, boolean group0ReturnsWholeMatch)private java.lang.ObjectdoAction(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)private java.lang.StringdoReplacement(java.lang.String originalString, java.lang.String replacement, java.util.regex.Matcher matcher, boolean replaceAll)private java.lang.StringdoStringReplacement(java.lang.String originalString, java.lang.String searchString, java.lang.String replacement, boolean replaceAll)intfind_split(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, java.lang.String target, java.lang.String separator, org.htmlunit.corejs.javascript.Scriptable re, int[] ip, int[] matchlen, boolean[] matched, java.lang.String[][] parensp)booleanisRegExp(org.htmlunit.corejs.javascript.Scriptable obj)(package private) static java.lang.StringjsRegExpToJavaRegExp(java.lang.String re)Transform a JavaScript regular expression to a Java regular expressionprivate voidsetProperties(java.util.regex.Matcher matcher, java.lang.String thisString, int startPos, int endPos)private java.lang.ObjectwrappedAction(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)Calls action on the wrapped RegExp proxy.org.htmlunit.corejs.javascript.ScriptablewrapRegExp(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, java.lang.Object compiled)
-
-
-
Method Detail
-
action
public java.lang.Object action(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)Use the wrapped proxy except for replacement with string arg where it uses Java regular expression.- Specified by:
actionin interfaceorg.htmlunit.corejs.javascript.RegExpProxy- Overrides:
actionin classorg.htmlunit.corejs.javascript.regexp.RegExpImpl
-
doAction
private java.lang.Object doAction(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)
-
doStringReplacement
private java.lang.String doStringReplacement(java.lang.String originalString, java.lang.String searchString, java.lang.String replacement, boolean replaceAll)
-
doReplacement
private java.lang.String doReplacement(java.lang.String originalString, java.lang.String replacement, java.util.regex.Matcher matcher, boolean replaceAll)
-
computeReplacementValue
java.lang.String computeReplacementValue(java.lang.String replacement, java.lang.String originalString, java.util.regex.MatchResult matcher, boolean group0ReturnsWholeMatch)
-
wrappedAction
private java.lang.Object wrappedAction(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, int actionType)Calls action on the wrapped RegExp proxy.
-
setProperties
private void setProperties(java.util.regex.Matcher matcher, java.lang.String thisString, int startPos, int endPos)
-
compileRegExp
public java.lang.Object compileRegExp(org.htmlunit.corejs.javascript.Context cx, java.lang.String source, java.lang.String flags)- Specified by:
compileRegExpin interfaceorg.htmlunit.corejs.javascript.RegExpProxy- Overrides:
compileRegExpin classorg.htmlunit.corejs.javascript.regexp.RegExpImpl
-
find_split
public int find_split(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, java.lang.String target, java.lang.String separator, org.htmlunit.corejs.javascript.Scriptable re, int[] ip, int[] matchlen, boolean[] matched, java.lang.String[][] parensp)- Specified by:
find_splitin interfaceorg.htmlunit.corejs.javascript.RegExpProxy- Overrides:
find_splitin classorg.htmlunit.corejs.javascript.regexp.RegExpImpl
-
isRegExp
public boolean isRegExp(org.htmlunit.corejs.javascript.Scriptable obj)
- Specified by:
isRegExpin interfaceorg.htmlunit.corejs.javascript.RegExpProxy- Overrides:
isRegExpin classorg.htmlunit.corejs.javascript.regexp.RegExpImpl
-
wrapRegExp
public org.htmlunit.corejs.javascript.Scriptable wrapRegExp(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, java.lang.Object compiled)- Specified by:
wrapRegExpin interfaceorg.htmlunit.corejs.javascript.RegExpProxy- Overrides:
wrapRegExpin classorg.htmlunit.corejs.javascript.regexp.RegExpImpl
-
jsRegExpToJavaRegExp
static java.lang.String jsRegExpToJavaRegExp(java.lang.String re)
Transform a JavaScript regular expression to a Java regular expression- Parameters:
re- the JavaScript regular expression to transform- Returns:
- the transformed expression
-
-