FileDocCategorySizeDatePackage
RegularExpression.javaAPI DocApache Ant 1.704413Wed Dec 13 06:16:20 GMT 2006org.apache.tools.ant.types

RegularExpression

public class RegularExpression extends DataType
A regular expression datatype. Keeps an instance of the compiled expression for speed purposes. This compiled expression is lazily evaluated (it is compiled the first time it is needed). The syntax is the dependent on which regular expression type you are using. The system property "ant.regexp.regexpimpl" will be the classname of the implementation that will be used.
For jdk <= 1.3, there are two available implementations:
org.apache.tools.ant.util.regexp.JakartaOroRegexp (the default)
Based on the jakarta-oro package

org.apache.tools.ant.util.regexp.JakartaRegexpRegexp
Based on the jakarta-regexp package

For jdk >= 1.4 an additional implementation is available:
org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp
Based on the jdk 1.4 built in regular expression package.
<regexp [ [id="id"] pattern="expression" | refid="id" ]
/>
see
org.apache.oro.text.regex.Perl5Compiler
see
org.apache.regexp.RE
see
java.util.regex.Pattern
see
org.apache.tools.ant.util.regexp.Regexp
ant.datatype
name="regexp"

Fields Summary
public static final String
DATA_TYPE_NAME
Name of this data type
private boolean
alreadyInit
private static final org.apache.tools.ant.util.regexp.RegexpFactory
FACTORY
private org.apache.tools.ant.util.regexp.Regexp
regexp
private String
myPattern
private boolean
setPatternPending
Constructors Summary
public RegularExpression()
default constructor


           
      
    
Methods Summary
public java.lang.StringgetPattern(org.apache.tools.ant.Project p)
Gets the pattern string for this RegularExpression in the given project.

param
p project
return
pattern

        init(p);
        if (isReference()) {
            return getRef(p).getPattern(p);
        }
        setPattern();
        return regexp.getPattern();
    
public org.apache.tools.ant.types.RegularExpressiongetRef(org.apache.tools.ant.Project p)
Get the RegularExpression this reference refers to in the given project. Check for circular references too

param
p project
return
resolved RegularExpression instance

        return (RegularExpression) getCheckedRef(p);
    
public org.apache.tools.ant.util.regexp.RegexpgetRegexp(org.apache.tools.ant.Project p)
provides a reference to the Regexp contained in this

param
p project
return
Regexp instance associated with this RegularExpression instance

        init(p);
        if (isReference()) {
            return getRef(p).getRegexp(p);
        }
        setPattern();
        return this.regexp;
    
private voidinit(org.apache.tools.ant.Project p)

        if (!alreadyInit) {
            this.regexp = FACTORY.newRegexp(p);
            alreadyInit = true;
        }
    
private voidsetPattern()

        if (setPatternPending) {
            regexp.setPattern(myPattern);
            setPatternPending = false;
        }
    
public voidsetPattern(java.lang.String pattern)
sets the regular expression pattern

param
pattern regular expression pattern

        if (regexp == null) {
            myPattern = pattern;
            setPatternPending = true;
        } else {
            regexp.setPattern(pattern);
        }