⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conditionbase.java

📁 Use the links below to download a source distribution of Ant from one of our mirrors. It is good pra
💻 JAVA
字号:
/* *  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.Project;import org.apache.tools.ant.DynamicElement;import org.apache.tools.ant.ComponentHelper;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 &lt;condition&gt; 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    implements DynamicElement {    private static final String CONDITION_ANTLIB        = "antlib:org.apache.tools.ant.types.conditions:";    /**     * 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);    }    /**     * Create a dynamically discovered condition.  Built-in conditions can     * be discovered from the org.apache.tools.ant.taskdefs.condition     * antlib.     * <p>     * This is a temporary fix until restricted type are added     * in Ant 1.8.0. The purpose of this method is to stop polluting the     * global type namespace with new conditionds - or worse adding new     * methods to this class.     * </p>     * @since 1.7.0     * @deprecated since 1.7.1 This method will be removed in Ant 1.8.0.     *             Until then, ant core will use it, but third party software     *             should not rely on this method.     * @param name the condition to create.     * @return the dynamic condition if found, null otherwise.     */    public Object createDynamicElement(String name) {        Object cond = ComponentHelper.getComponentHelper(getProject())            .createComponent(CONDITION_ANTLIB + name);        if (!(cond instanceof Condition)) {            return null;        }        log("Dynamically discovered '" + name + "' " + cond,            Project.MSG_DEBUG);        add((Condition) cond);        return cond;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -