diff --git a/src/main/org/apache/tools/ant/types/DestDir.java b/src/main/org/apache/tools/ant/types/DestDir.java
deleted file mode 100644
index 792c804ec..000000000
--- a/src/main/org/apache/tools/ant/types/DestDir.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-/**
- * This wrapper class is used to represent Destination Directories.
- *
- * @author Magesh Umasankar
- */
-public final class DestDir extends ValidatedFileAttribute {
-
- private String message = null;
-
- /**
- * empty constructor
- */
- public DestDir() {}
-
-
- /**
- * file constructor; performs validation
- * @param file the file to use
- */
- public DestDir(File file) throws BuildException {
- setFile(file);
- }
-
- protected final String getMessage() {
- return message;
- }
-
- /**
- * @return false if DestDir is null or if DestDir exists, but
- * is not a directory. Return true, otherwise.
- */
- protected final boolean isValid() {
- File f = getFile();
- if (f == null) {
- message = "DestDir must not be null";
- return false;
- }
- if (f.exists() && !f.isDirectory()) {
- message = f + " is not a directory.";
- return false;
- }
- //If DestDir does not exist, make sure it is well formed.
- if (!f.exists()) {
- File tmp = f;
- while (tmp.getParent() != null) {
- File parent = new File(tmp.getParent());
- if (parent.exists()) {
- if (!parent.isDirectory()) {
- message = f + " contains the path "
- + parent + " that is not a directory.";
- return false;
- }
- break;
- }
- tmp = parent;
- }
- }
- return true;
- }
-}
diff --git a/src/main/org/apache/tools/ant/types/DestFile.java b/src/main/org/apache/tools/ant/types/DestFile.java
deleted file mode 100644
index b3ce20e2f..000000000
--- a/src/main/org/apache/tools/ant/types/DestFile.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-/**
- * This wrapper class is used to represent Destination Files.
- *
- * @author Magesh Umasankar
- */
-public final class DestFile extends ValidatedFileAttribute {
-
- private String message;
-
- /**
- * empty constructor
- */
- public DestFile() {}
-
-
- /**
- * file constructor; performs validation
- * @param file the file to use
- */
- public DestFile(File file) throws BuildException {
- setFile(file);
- }
-
- protected final String getMessage() {
- return message;
- }
-
- /**
- * @return false if DestFile is null or if DestFile exists, but
- * is not a file. Return true, otherwise.
- */
- protected final boolean isValid() {
- File f = getFile();
- if (f == null) {
- message = "DestFile must not be null";
- return false;
- }
- if (f.exists() && !f.isFile()) {
- message = f + " is not a file.";
- return false;
- }
- //If DestFile does not exist, make sure it is well formed.
- if (!f.exists()) {
- File tmp = f;
- while (tmp.getParent() != null) {
- File parent = new File(tmp.getParent());
- if (parent.exists()) {
- if (!parent.isDirectory()) {
- message = f + " contains the path "
- + parent + " that is not a directory.";
- return false;
- }
- break;
- }
- tmp = parent;
- }
- }
- return true;
- }
-
- /**
- * test for the dest file being newer than the file passed in.
- * returns true iff the dest exists and is the same age or newer
- * @pre getFile()!=null && dependent!=null
- * @param dependent file we are dependent on
- * @return true iff we are up to date
- */
- public boolean isUpToDate(File dependent) {
- if(!getFile().exists())
- return false;
- return getFile().lastModified() >= dependent.lastModified();
- }
-
- /**
- * test for the dest file being newer than the SrcFile passed in.
- * returns true iff the dest exists and is the same age or newer
- * @pre getFile()!=null
- * @pre dependent!=null && depedent.getFile!=null;
- * @param dependent file we are dependent on
- * @return true iff we are up to date
- */
- public boolean isUpToDate(SrcFile dependent) {
- return isUpToDate(dependent.getFile());
- }
-}
diff --git a/src/main/org/apache/tools/ant/types/PreferredAttribute.java b/src/main/org/apache/tools/ant/types/PreferredAttribute.java
deleted file mode 100644
index 5cf34f8bd..000000000
--- a/src/main/org/apache/tools/ant/types/PreferredAttribute.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-/**
- * IntrospectionHelper attaches higer priority to PreferredAttribute
- * objects when compared to other objects. This prioritization
- * is used when there are multiple overridden Setter Methods.
- *
- * @author Magesh Umasankar
- */
-public interface PreferredAttribute {
-}
\ No newline at end of file
diff --git a/src/main/org/apache/tools/ant/types/SrcDir.java b/src/main/org/apache/tools/ant/types/SrcDir.java
deleted file mode 100644
index 9174a872d..000000000
--- a/src/main/org/apache/tools/ant/types/SrcDir.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-/**
- * This wrapper class is used to represent Source(Origin) Directories.
- *
- * @author Magesh Umasankar
- */
-public final class SrcDir extends ValidatedFileAttribute {
-
- /**
- * empty constructor
- */
- public SrcDir() {}
-
-
- /**
- * file constructor; performs validation
- * @param file the file to use
- */
- public SrcDir(File file) throws BuildException {
- setFile(file);
- }
-
- private String message;
-
- protected final String getMessage() {
- return message;
- }
-
- /**
- * @return false if SrcDir is null or if SrcDir does not exist
- * or if SrcDir is not a directory. Return true, otherwise.
- */
- protected final boolean isValid() {
- File f = getFile();
- if (f == null) {
- message = "SrcDir must not be null";
- return false;
- }
- if (!f.exists()) {
- message = f + " does not exist.";
- return false;
- }
- if (!f.isDirectory()) {
- message = f + " is not a directory.";
- return false;
- }
- return true;
- }
-}
diff --git a/src/main/org/apache/tools/ant/types/SrcFile.java b/src/main/org/apache/tools/ant/types/SrcFile.java
deleted file mode 100644
index f8333d6ae..000000000
--- a/src/main/org/apache/tools/ant/types/SrcFile.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-/**
- * This wrapper class is used to represent Source(Origin) Files.
- *
- * @author Magesh Umasankar
- */
-public final class SrcFile extends ValidatedFileAttribute {
-
- /**
- * empty constructor
- */
- public SrcFile() {}
-
-
- /**
- * file constructor; performs validation
- * @param file the file to use
- */
- public SrcFile(File file) throws BuildException {
- setFile(file);
- }
-
- private String message;
-
- protected final String getMessage() {
- return message;
- }
-
- /**
- * @return false if SrcFile is null or if SrcFile does not exist
- * or if SrcFile is not a file. Return true, otherwise.
- */
- protected final boolean isValid() {
- File f = getFile();
- if (f == null) {
- message = "SrcFile must not be null";
- return false;
- }
- if (!f.exists()) {
- message = f + " does not exist.";
- return false;
- }
- if (!f.isFile()) {
- message = f + " is not a file.";
- return false;
- }
- return true;
- }
-}
diff --git a/src/main/org/apache/tools/ant/types/ValidatedFileAttribute.java b/src/main/org/apache/tools/ant/types/ValidatedFileAttribute.java
deleted file mode 100644
index 5f99f92a4..000000000
--- a/src/main/org/apache/tools/ant/types/ValidatedFileAttribute.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * .
- */
-
-package org.apache.tools.ant.types;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-/**
- * Wrapper class that can be extended to perform file type
- * validation.
- *
- * Possible implementations may be SrcFile, SrcDir, DestFile,
- * DestDir, JavaSrcFile, ReadableSrcFile, etc.
- *
- * The idea is to validate the attribute right when it is being
- * set instead of performing the check later on. This will
- * remove redundant code as well as minimize the headache
- * of writing validation code for the BuildWriter.
- *
- * @author Magesh Umasankar
- */
-public abstract class ValidatedFileAttribute implements PreferredAttribute {
-
- private File file = null;
-
- /**
- * The implementing class must provide the message that
- * is to be displayed if the file is not valid.
- *
- * @return the String message that is to be displayed
- * if the file is not valid.
- */
- protected abstract String getMessage();
-
- /**
- * Is the file a valid file based on the context?
- * This decision must be made by the subclass's
- * implementation of this method.
- *
- * @return true or false depending upon the
- * validity of the file.
- */
- protected abstract boolean isValid();
-
- public ValidatedFileAttribute() {
- }
-
- /**
- * Retrieves the file.
- */
- public final File getFile() {
- return file;
- }
-
- /**
- * Invoked by {@link org.apache.tools.ant.IntrospectionHelper IntrospectionHelper}.
- */
- public final void setFile(File f) throws BuildException {
- file = f;
- if (!isValid()) {
- file = null;
- throw new BuildException(getMessage());
- }
- }
-}
\ No newline at end of file