diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Unpack.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Unpack.java | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Unpack.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Unpack.java deleted file mode 100644 index 8640f8fb..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Unpack.java +++ /dev/null @@ -1,195 +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.taskdefs; - - -import java.io.File; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Resource; -import org.apache.tools.ant.types.ResourceCollection; -import org.apache.tools.ant.types.resources.FileProvider; -import org.apache.tools.ant.types.resources.FileResource; - -/** - * Abstract Base class for unpack tasks. - * - * @since Ant 1.5 - */ - -public abstract class Unpack extends Task { - // CheckStyle:VisibilityModifier OFF - bc - protected File source; - protected File dest; - protected Resource srcResource; - // CheckStyle:VisibilityModifier ON - - /** - * @deprecated since 1.5.x. - * setSrc(String) is deprecated and is replaced with - * setSrc(File) to make Ant's Introspection - * mechanism do the work and also to encapsulate operations on - * the type in its own class. - * @ant.attribute ignore="true" - * @param src a <code>String</code> value - */ - public void setSrc(String src) { - log("DEPRECATED - The setSrc(String) method has been deprecated." - + " Use setSrc(File) instead."); - setSrc(getProject().resolveFile(src)); - } - - /** - * @deprecated since 1.5.x. - * setDest(String) is deprecated and is replaced with - * setDest(File) to make Ant's Introspection - * mechanism do the work and also to encapsulate operations on - * the type in its own class. - * @ant.attribute ignore="true" - * @param dest a <code>String</code> value - */ - public void setDest(String dest) { - log("DEPRECATED - The setDest(String) method has been deprecated." - + " Use setDest(File) instead."); - setDest(getProject().resolveFile(dest)); - } - - /** - * The file to expand; required. - * @param src file to expand - */ - public void setSrc(File src) { - setSrcResource(new FileResource(src)); - } - - /** - * The resource to expand; required. - * @param src resource to expand - */ - public void setSrcResource(Resource src) { - if (!src.isExists()) { - throw new BuildException( - "the archive " + src.getName() + " doesn't exist"); - } - if (src.isDirectory()) { - throw new BuildException( - "the archive " + src.getName() + " can't be a directory"); - } - FileProvider fp = src.as(FileProvider.class); - if (fp != null) { - source = fp.getFile(); - } else if (!supportsNonFileResources()) { - throw new BuildException( - "The source " + src.getName() - + " is not a FileSystem " - + "Only FileSystem resources are" - + " supported."); - } - srcResource = src; - } - - /** - * Set the source Archive resource. - * @param a the archive as a single element Resource collection. - */ - public void addConfigured(ResourceCollection a) { - if (a.size() != 1) { - throw new BuildException("only single argument resource collections" - + " are supported as archives"); - } - setSrcResource(a.iterator().next()); - } - - /** - * The destination file or directory; optional. - * @param dest destination file or directory - */ - public void setDest(File dest) { - this.dest = dest; - } - - private void validate() throws BuildException { - if (srcResource == null) { - throw new BuildException("No Src specified", getLocation()); - } - - if (dest == null) { - dest = new File(source.getParent()); - } - - if (dest.isDirectory()) { - String defaultExtension = getDefaultExtension(); - createDestFile(defaultExtension); - } - } - - private void createDestFile(String defaultExtension) { - String sourceName = source.getName(); - int len = sourceName.length(); - if (defaultExtension != null - && len > defaultExtension.length() - && defaultExtension.equalsIgnoreCase( - sourceName.substring(len - defaultExtension.length()))) { - dest = new File(dest, sourceName.substring(0, - len - defaultExtension.length())); - } else { - dest = new File(dest, sourceName); - } - } - - /** - * Execute the task. - * @throws BuildException on error - */ - public void execute() throws BuildException { - File savedDest = dest; // may be altered in validate - try { - validate(); - extract(); - } finally { - dest = savedDest; - } - } - - /** - * Get the extension. - * This is to be overridden by subclasses. - * @return the default extension. - */ - protected abstract String getDefaultExtension(); - - /** - * Do the uncompressing. - * This is to be overridden by subclasses. - */ - protected abstract void extract(); - - /** - * Whether this task can deal with non-file resources. - * - * <p>This implementation returns false.</p> - * @return false for this task. - * @since Ant 1.7 - */ - protected boolean supportsNonFileResources() { - return false; - } - -} |