aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java114
1 files changed, 0 insertions, 114 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java
deleted file mode 100644
index a0a8a155..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java
+++ /dev/null
@@ -1,114 +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.tools.ant.BuildException;
-import org.apache.tools.ant.MagicNames;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.util.ClasspathUtils;
-
-/**
- * Simple Factory Class that produces an implementation of RegexpMatcher based on the system
- * property <code>ant.regexp.regexpimpl</code> and the classes available.
- *
- * <p>
- * In a more general framework this class would be abstract and have a static newInstance method.
- * </p>
- *
- */
-public class RegexpMatcherFactory {
-
- /** Constructor for RegexpMatcherFactory. */
- public RegexpMatcherFactory() {
- }
-
- /***
- * Create a new regular expression instance.
- * @return the matcher
- * @throws BuildException on error
- */
- public RegexpMatcher newRegexpMatcher() throws BuildException {
- return newRegexpMatcher(null);
- }
-
- /***
- * Create a new regular expression instance.
- *
- * @param p Project whose ant.regexp.regexpimpl property will be used.
- * @return the matcher
- * @throws BuildException on error
- */
- public RegexpMatcher newRegexpMatcher(Project p) throws BuildException {
- String systemDefault = null;
- if (p == null) {
- systemDefault = System.getProperty(MagicNames.REGEXP_IMPL);
- } else {
- systemDefault = p.getProperty(MagicNames.REGEXP_IMPL);
- }
-
- if (systemDefault != null) {
- return createInstance(systemDefault);
- // TODO should we silently catch possible exceptions and try to
- // load a different implementation?
- }
-
- return new Jdk14RegexpMatcher();
- }
-
- /**
- * Create an instance of a matcher from a classname.
- *
- * @param className a <code>String</code> value
- * @return a <code>RegexpMatcher</code> value
- * @exception BuildException if an error occurs
- */
- protected RegexpMatcher createInstance(String className) throws BuildException {
- return (RegexpMatcher) ClasspathUtils.newInstance(className, RegexpMatcherFactory.class
- .getClassLoader(), RegexpMatcher.class);
- }
-
- /**
- * Test if a particular class is available to be used.
- *
- * @param className a <code>String</code> value
- * @exception BuildException if an error occurs
- */
- protected void testAvailability(String className) throws BuildException {
- try {
- Class.forName(className);
- } catch (Throwable t) {
- throw new BuildException(t);
- }
- }
-
- /**
- * Checks if a RegExp-Matcher is available.
- * @param project The project to check for (may be <code>null</code>)
- * @return <code>true</code> if available otherwise <code>false</code>
- */
- public static boolean regexpMatcherPresent(Project project) {
- try {
- // The factory throws a BuildException if no usable matcher
- // cannot be instantiated. We dont need the matcher itself here.
- new RegexpMatcherFactory().newRegexpMatcher(project);
- return true;
- } catch (Throwable ex) {
- return false;
- }
- }
-}