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

📄 webapp.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
字号:
// ========================================================================// Copyright 2006-2007 Sabre Holdings.// ------------------------------------------------------------------------// Licensed 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.mortbay.jetty.ant.types;import java.io.File;import java.util.ArrayList;import java.util.Arrays;import java.util.Enumeration;import java.util.Iterator;import java.util.List;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.DirectoryScanner;import org.apache.tools.ant.Project;import org.apache.tools.ant.types.FileSet;/** * Ant's WebApp object definition. * * @author Jakub Pawlowicz */public class WebApp{    /** List of web application libraries. */    private List libraries = new ArrayList();    /** List of web application class directories. */    private List classes = new ArrayList();    /** Reference to Ant project variable. */    private Project project;    /** Application context path. */    private String contextPath;    /** Application name. */    private String name;    /** Application war file (either exploded or not). */    private File warFile;    /** Location of application web.xml file. */    private File webXmlFile;    /** Location of jetty-env.xml file. */    private File jettyEnvXml;    /** List of extra scan targets for this web application. */    private FileSet scanTargets;    /** List of optional context handlers. */    private ContextHandlers contextHandlers;    private File webDefaultXmlFile;    /**     * Length of interval in which application will be scanned for changes (0     * means scanner wouldn't be created).     */    private int scanIntervalSeconds = 0;    public WebApp(Project project)    {        this.project = project;    }    public File getWebDefaultXmlFile()    {        return this.webDefaultXmlFile;    }    public void setWebDefaultXmlFile(File webDefaultXmlfile)    {        this.webDefaultXmlFile = webDefaultXmlfile;    }    public void addLib(FileSet lib)    {        libraries.add(lib);    }    public List getLibraries()    {        return libraries;    }    public void addClasses(FileSet classes)    {        this.classes.add(classes);    }    public List getClasses()    {        return classes;    }    public File getWarFile()    {        return warFile;    }    public void setWarFile(File warFile)    {        this.warFile = warFile;    }    public String getContextPath()    {        return contextPath;    }    public void setContextPath(String contextPath)    {        this.contextPath = contextPath;    }    public String getName()    {        return name;    }    public void setName(String name)    {        this.name = name;    }    /**     * @return a list of classpath files (libraries and class directories).     */    public List getClassPathFiles()    {        List classPathFiles = new ArrayList();        Iterator classesIterator = classes.iterator();        while (classesIterator.hasNext())        {            FileSet clazz = (FileSet) classesIterator.next();            classPathFiles.add(clazz.getDirectoryScanner(project).getBasedir());        }        Iterator iterator = libraries.iterator();        while (iterator.hasNext())        {            FileSet library = (FileSet) iterator.next();            String[] includedFiles = library.getDirectoryScanner(project).getIncludedFiles();            File baseDir = library.getDirectoryScanner(project).getBasedir();            for (int i = 0; i < includedFiles.length; i++)            {                classPathFiles.add(new File(baseDir, includedFiles[i]));            }        }        return classPathFiles;    }    /**     * @return a <code>FileMatchingConfiguration</code> object describing the     *         configuration of all libraries added to this particular web app     *         (both classes and libraries).     */    public FileMatchingConfiguration getLibrariesConfiguration()    {        FileMatchingConfiguration config = new FileMatchingConfiguration();        Iterator classesIterator = classes.iterator();        while (classesIterator.hasNext())        {            FileSet clazz = (FileSet) classesIterator.next();            config.addDirectoryScanner(clazz.getDirectoryScanner(project));        }        Iterator librariesIterator = libraries.iterator();        while (librariesIterator.hasNext())        {            FileSet library = (FileSet) librariesIterator.next();            config.addDirectoryScanner(library.getDirectoryScanner(project));        }        return config;    }    public FileMatchingConfiguration getScanTargetsConfiguration()    {        FileMatchingConfiguration configuration = new FileMatchingConfiguration();        if (scanTargets != null)        {            configuration.addDirectoryScanner(scanTargets.getDirectoryScanner(project));        }        return configuration;    }    /**     * @return location of web.xml file (either inside WAR or on the external     *         location).     */    public File getWebXmlFile()    {        if (webXmlFile == null)        {            File webInf = new File(warFile, "WEB-INF");            return new File(webInf, "web.xml");        }        return webXmlFile;    }    public void setWebXmlFile(File webXmlFile)    {        this.webXmlFile = webXmlFile;    }    public void addScanTargets(FileSet scanTargets)    {        if (this.scanTargets != null)        {            throw new BuildException("Only one <scanTargets> tag is allowed!");        }        this.scanTargets = scanTargets;    }    public void addContextHandlers(ContextHandlers contextHandlers)    {        if (this.contextHandlers != null)        {            throw new BuildException("Only one <contextHandlers> tag is allowed!");        }        this.contextHandlers = contextHandlers;    }    public int getScanIntervalSeconds()    {        return scanIntervalSeconds;    }    public void setScanIntervalSeconds(int scanIntervalSeconds)    {        this.scanIntervalSeconds = scanIntervalSeconds;    }    public File getJettyEnvXml()    {        return jettyEnvXml;    }    public void setJettyEnvXml(File jettyEnvXml)    {        this.jettyEnvXml = jettyEnvXml;    }    public List getContextHandlers()    {        return (contextHandlers != null ? contextHandlers.getContextHandlers() : new ArrayList());    }}

⌨️ 快捷键说明

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