aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java281
1 files changed, 281 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java
new file mode 100644
index 00000000..d057b46d
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java
@@ -0,0 +1,281 @@
+/*
+ * 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.taskdefs.condition;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+import org.apache.tools.ant.ProjectComponent;
+import org.apache.tools.ant.taskdefs.Available;
+import org.apache.tools.ant.taskdefs.Checksum;
+import org.apache.tools.ant.taskdefs.UpToDate;
+
+/**
+ * Baseclass for the <condition> task as well as several
+ * conditions - ensures that the types of conditions inside the task
+ * and the "container" conditions are in sync.
+ *
+ * @since Ant 1.4
+ */
+public abstract class ConditionBase extends ProjectComponent {
+
+ /**
+ * name of the component
+ */
+ private String taskName = "condition";
+
+ /**
+ *
+ */
+ private Vector conditions = new Vector();
+
+ /**
+ * Simple constructor.
+ */
+ protected ConditionBase() {
+ taskName = "component";
+ }
+
+ /**
+ * Constructor that takes the name of the task in the task name.
+ * @param taskName the name of the task.
+ * @since Ant 1.7
+ */
+ protected ConditionBase(String taskName) {
+ this.taskName = taskName;
+ }
+
+ /**
+ * Count the conditions.
+ *
+ * @return the number of conditions in the container
+ * @since 1.1
+ */
+ protected int countConditions() {
+ return conditions.size();
+ }
+
+ /**
+ * Iterate through all conditions.
+ *
+ * @return an enumeration to use for iteration
+ * @since 1.1
+ */
+ protected final Enumeration getConditions() {
+ return conditions.elements();
+ }
+
+ /**
+ * Sets the name to use in logging messages.
+ *
+ * @param name The name to use in logging messages.
+ * Should not be <code>null</code>.
+ * @since Ant 1.7
+ */
+ public void setTaskName(String name) {
+ this.taskName = name;
+ }
+
+ /**
+ * Returns the name to use in logging messages.
+ *
+ * @return the name to use in logging messages.
+ * @since Ant 1.7
+ */
+ public String getTaskName() {
+ return taskName;
+ }
+
+ /**
+ * Add an &lt;available&gt; condition.
+ * @param a an available condition
+ * @since 1.1
+ */
+ public void addAvailable(Available a) {
+ conditions.addElement(a);
+ }
+
+ /**
+ * Add an &lt;checksum&gt; condition.
+ *
+ * @param c a Checksum condition
+ * @since 1.4, Ant 1.5
+ */
+ public void addChecksum(Checksum c) {
+ conditions.addElement(c);
+ }
+
+ /**
+ * Add an &lt;uptodate&gt; condition.
+ *
+ * @param u an UpToDate condition
+ * @since 1.1
+ */
+ public void addUptodate(UpToDate u) {
+ conditions.addElement(u);
+ }
+
+ /**
+ * Add an &lt;not&gt; condition "container".
+ *
+ * @param n a Not condition
+ * @since 1.1
+ */
+ public void addNot(Not n) {
+ conditions.addElement(n);
+ }
+
+ /**
+ * Add an &lt;and&gt; condition "container".
+ *
+ * @param a an And condition
+ * @since 1.1
+ */
+ public void addAnd(And a) {
+ conditions.addElement(a);
+ }
+
+ /**
+ * Add an &lt;or&gt; condition "container".
+ *
+ * @param o an Or condition
+ * @since 1.1
+ */
+ public void addOr(Or o) {
+ conditions.addElement(o);
+ }
+
+ /**
+ * Add an &lt;equals&gt; condition.
+ *
+ * @param e an Equals condition
+ * @since 1.1
+ */
+ public void addEquals(Equals e) {
+ conditions.addElement(e);
+ }
+
+ /**
+ * Add an &lt;os&gt; condition.
+ *
+ * @param o an Os condition
+ * @since 1.1
+ */
+ public void addOs(Os o) {
+ conditions.addElement(o);
+ }
+
+ /**
+ * Add an &lt;isset&gt; condition.
+ *
+ * @param i an IsSet condition
+ * @since Ant 1.5
+ */
+ public void addIsSet(IsSet i) {
+ conditions.addElement(i);
+ }
+
+ /**
+ * Add an &lt;http&gt; condition.
+ *
+ * @param h an Http condition
+ * @since Ant 1.5
+ */
+ public void addHttp(Http h) {
+ conditions.addElement(h);
+ }
+
+ /**
+ * Add a &lt;socket&gt; condition.
+ *
+ * @param s a Socket condition
+ * @since Ant 1.5
+ */
+ public void addSocket(Socket s) {
+ conditions.addElement(s);
+ }
+
+ /**
+ * Add a &lt;filesmatch&gt; condition.
+ *
+ * @param test a FilesMatch condition
+ * @since Ant 1.5
+ */
+ public void addFilesMatch(FilesMatch test) {
+ conditions.addElement(test);
+ }
+
+ /**
+ * Add a &lt;contains&gt; condition.
+ *
+ * @param test a Contains condition
+ * @since Ant 1.5
+ */
+ public void addContains(Contains test) {
+ conditions.addElement(test);
+ }
+
+ /**
+ * Add a &lt;istrue&gt; condition.
+ *
+ * @param test an IsTrue condition
+ * @since Ant 1.5
+ */
+ public void addIsTrue(IsTrue test) {
+ conditions.addElement(test);
+ }
+
+ /**
+ * Add a &lt;isfalse&gt; condition.
+ *
+ * @param test an IsFalse condition
+ * @since Ant 1.5
+ */
+ public void addIsFalse(IsFalse test) {
+ conditions.addElement(test);
+ }
+
+ /**
+ * Add an &lt;isreference&gt; condition.
+ *
+ * @param i an IsReference condition
+ * @since Ant 1.6
+ */
+ public void addIsReference(IsReference i) {
+ conditions.addElement(i);
+ }
+
+ /**
+ * Add an &lt;isfileselected&gt; condition.
+ * @param test the condition
+ */
+ public void addIsFileSelected(IsFileSelected test) {
+ conditions.addElement(test);
+ }
+
+ /**
+ * Add an arbitrary condition
+ * @param c a condition
+ * @since Ant 1.6
+ */
+ public void add(Condition c) {
+ conditions.addElement(c);
+ }
+
+}