diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java deleted file mode 100644 index 529a78ae..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.util.regexp; - -import org.apache.oro.text.regex.Perl5Substitution; -import org.apache.oro.text.regex.Substitution; -import org.apache.oro.text.regex.Util; -import org.apache.tools.ant.BuildException; - -/*** - * Regular expression implementation using the Jakarta Oro package - */ -public class JakartaOroRegexp extends JakartaOroMatcher implements Regexp { - - private static final int DECIMAL = 10; - - /** Constructor for JakartaOroRegexp */ - public JakartaOroRegexp() { - super(); - } - - /** - * Perform a substitution on the regular expression. - * @param input The string to substitute on - * @param argument The string which defines the substitution - * @param options The list of options for the match and replace. - * @return the result of the operation - * @throws BuildException on error - */ - public String substitute(final String input, final String argument, final int options) - throws BuildException { - // translate \1 to $1 so that the Perl5Substitution will work - final StringBuffer subst = new StringBuffer(); - for (int i = 0; i < argument.length(); i++) { - char c = argument.charAt(i); - if (c == '$') { - subst.append('\\'); - subst.append('$'); - } else if (c == '\\') { - if (++i < argument.length()) { - c = argument.charAt(i); - final int value = Character.digit(c, DECIMAL); - if (value > -1) { - subst.append("$").append(value); - } else { - subst.append(c); - } - } else { - // TODO - should throw an exception instead? - subst.append('\\'); - } - } else { - subst.append(c); - } - } - - // Do the substitution - final Substitution s = - new Perl5Substitution(subst.toString(), - Perl5Substitution.INTERPOLATE_ALL); - return Util.substitute(matcher, - getCompiledPattern(options), - s, - input, - getSubsOptions(options)); - } - - /** - * Convert ant regexp substitution option to oro options. - * - * @param options the ant regexp options - * @return the oro substition options - */ - protected int getSubsOptions(final int options) { - final boolean replaceAll = RegexpUtil.hasFlag(options, REPLACE_ALL); - int subsOptions = 1; - if (replaceAll) { - subsOptions = Util.SUBSTITUTE_ALL; - } - return subsOptions; - } - -} |