Apache Ant Source Code Files

Apache Ant Source Code Files are inside the Apache Ant source package file like apache-ant-1.10.10-src.zip. Unzip the source package file and go to the "src/main" sub-directory, you will see source code files.

Here is the list of Java source code files of the Apache Ant 1.10.10 in \Users\fyicenter\apache-ant-1.10.10\src\main:

✍: FYIcenter.com

org/apache/tools/ant/types/resources/selectors/Name.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
 *
 *      https://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.types.resources.selectors;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.RegularExpression;
import org.apache.tools.ant.types.Resource;
import org.apache.tools.ant.types.selectors.SelectorUtils;
import org.apache.tools.ant.util.regexp.Regexp;
import org.apache.tools.ant.util.regexp.RegexpUtil;

/**
 * Name ResourceSelector.
 * @since Ant 1.7
 */
public class Name implements ResourceSelector {
    private String regex = null;
    private String pattern;
    private boolean cs = true;
    private boolean handleDirSep = false;

    // caches for performance reasons
    private RegularExpression reg;
    private Regexp expression;

    private Project project;

    public void setProject(Project p) {
        project = p;
    }

    /**
     * Set the pattern to compare names against.
     * @param n the pattern String to set.
     */
    public void setName(String n) {
        pattern = n;
    }

    /**
     * Get the pattern used by this Name ResourceSelector.
     * @return the String selection pattern.
     */
    public String getName() {
        return pattern;
    }

    /**
     * Set the regular expression to compare names against.
     * @param r the regex to set.
     * @since Ant 1.8.0
     */
    public void setRegex(String r) {
        regex = r;
        reg = null;
    }

    /**
     * Get the regular expression used by this Name ResourceSelector.
     * @return the String selection pattern.
     * @since Ant 1.8.0
     */
    public String getRegex() {
        return regex;
    }

    /**
     * Set whether the name comparisons are case-sensitive.
     * @param b boolean case-sensitivity flag.
     */
    public void setCaseSensitive(boolean b) {
        cs = b;
    }

    /**
     * Learn whether this Name ResourceSelector is case-sensitive.
     * @return boolean case-sensitivity flag.
     */
    public boolean isCaseSensitive() {
        return cs;
    }

    /**
     * Attribute specifying whether to ignore the difference
     * between / and \ (the two common directory characters).
     * @param handleDirSep a boolean, default is false.
     * @since Ant 1.8.0
     */
    public void setHandleDirSep(boolean handleDirSep) {
        this.handleDirSep = handleDirSep;
    }

    /**
     * Whether the difference between / and \ (the two common
     * directory characters) is ignored.
     * @return boolean
     * @since Ant 1.8.0
     */
    public boolean doesHandledirSep() {
        return handleDirSep;
    }

    /**
     * Return true if this Resource is selected.
     * @param r the Resource to check.
     * @return whether the Resource was selected.
     */
    public boolean isSelected(Resource r) {
        String n = r.getName();
        if (matches(n)) {
            return true;
        }
        String s = r.toString();
        return !s.equals(n) && matches(s);
    }

    private boolean matches(String name) {
        if (pattern != null) {
            return SelectorUtils.match(modify(pattern), modify(name), cs);
        }
        if (reg == null) {
            reg = new RegularExpression();
            reg.setPattern(regex);
            expression = reg.getRegexp(project);
        }
        return expression.matches(modify(name), RegexpUtil.asOptions(cs));
    }

    private String modify(String s) {
        if (s == null || !handleDirSep || !s.contains("\\")) {
            return s;
        }
        return s.replace('\\', '/');
    }
}

org/apache/tools/ant/types/resources/selectors/Name.java

 

Or download all of them as a single archive file:

File name: apache-ant-1.10.10-fyi.zip
File size: 2392938 bytes
Release date: 2021-04-17
Download 

 

ant-1.8.0.jar - Apache Ant

Download Apache Ant Source Package

Apache Ant - Java Build Tool

⇑⇑ Java/JAR Tools

2021-07-10, 110958👍, 0💬