diff --git a/src/main/org/apache/tools/ant/types/selectors/BaseExtendSelector.java b/src/main/org/apache/tools/ant/types/selectors/BaseExtendSelector.java index 22a34f1a8..f17ca0276 100644 --- a/src/main/org/apache/tools/ant/types/selectors/BaseExtendSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/BaseExtendSelector.java @@ -34,9 +34,13 @@ public abstract class BaseExtendSelector extends BaseSelector implements ExtendFileSelector { + // CheckStyle:VisibilityModifier OFF - bc + /** The passed in parameter array. */ protected Parameter[] parameters = null; + // CheckStyle:VisibilityModifier ON + /** * Default constructor. */ diff --git a/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java b/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java index c0dd65f9b..46df737e0 100644 --- a/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java @@ -20,7 +20,6 @@ package org.apache.tools.ant.types.selectors; import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; diff --git a/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java b/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java index 218acd15c..bf7a5d7b3 100644 --- a/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java @@ -20,7 +20,6 @@ package org.apache.tools.ant.types.selectors; import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; diff --git a/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java b/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java index f9c2c4e37..9d6165000 100644 --- a/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java @@ -32,10 +32,15 @@ import org.apache.tools.ant.types.Parameter; */ public class DepthSelector extends BaseExtendSelector { + // CheckStyle:VisibilityModifier OFF - bc + /** min attribute */ public int min = -1; /** max attribute */ public int max = -1; + + // CheckStyle:VisibilityModifier ON + /** Used for parameterized custom selector */ public static final String MIN_KEY = "min"; /** Used for parameterized custom selector */ diff --git a/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java b/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java index 179daaf28..5135605cd 100644 --- a/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java @@ -35,11 +35,15 @@ public abstract class MappingSelector extends BaseSelector { /** Utilities used for file operations */ private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); + // CheckStyle:VisibilityModifier OFF - bc + protected File targetdir = null; protected Mapper mapperElement = null; protected FileNameMapper map = null; protected int granularity = 0; + // CheckStyle:VisibilityModifier ON + /** * Creates a new MappingSelector instance. * diff --git a/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java b/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java index 65a81425e..74f8bd55c 100644 --- a/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java @@ -27,7 +27,7 @@ import org.apache.tools.ant.taskdefs.condition.IsSigned; * @since 1.7 */ public class SignedSelector extends DataType implements FileSelector { - IsSigned isSigned = new IsSigned(); + private IsSigned isSigned = new IsSigned(); /** * The signature name to check jarfile for. diff --git a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java index 96006a353..52aba4059 100644 --- a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java @@ -52,53 +52,53 @@ import org.apache.tools.ant.util.ResourceUtils; * *

The ModifiedSelector is implemented as a CoreSelector and uses default * values for all its attributes therefore the simpliest example is

- *   
- *       
- *           
- *       
- *   
+ *   <copy todir="dest">
+ *       <filelist dir="src">
+ *           <modified/>
+ *       </filelist>
+ *   </copy>
  * 

* *

The same example rewritten as CoreSelector with setting the all values * (same as defaults are) would be

- *   
- *       
- *           
- *               
- *               
- *           
- *       
- *   
+ *                     comparator="equal">
+ *               <param name="cache.cachefile"     value="cache.properties"/>
+ *               <param name="algorithm.algorithm" value="MD5"/>
+ *           </modified>
+ *       </filelist>
+ *   </copy>
  * 

* *

And the same rewritten as CustomSelector would be

- *   
- *       
- *           
- *               
- *               
- *               
- *               
- *               
- *               
- *           
- *       
- *   
+ *   <copy todir="dest">
+ *       <filelist dir="src">
+ *           <custom class="org.apache.tools.ant.type.selectors.ModifiedSelector">
+ *               <param name="update"     value="true"/>
+ *               <param name="cache"      value="propertyfile"/>
+ *               <param name="algorithm"  value="digest"/>
+ *               <param name="comparator" value="equal"/>
+ *               <param name="cache.cachefile"     value="cache.properties"/>
+ *               <param name="algorithm.algorithm" value="MD5"/>
+ *           </custom>
+ *       </filelist>
+ *   </copy>
  * 

* *

If you want to provide your own interface implementation you can do * that via the *classname attributes. If the classes are not on Ant's core * classpath, you will have to provide the path via nested <classpath> * element, so that the selector can find the classes.

- *   
- *       
- *           
- *       
- *   
- * 

+ * <modified cacheclassname="com.mycompany.MyCache"> + * <classpath> + * <pathelement location="lib/mycompony-antutil.jar"/> + * </classpath> + * </modified> + *

* *

All these three examples copy the files from src to dest * using the ModifiedSelector. The ModifiedSelector uses the PropertyfileCache @@ -116,114 +116,20 @@ import org.apache.tools.ant.util.ResourceUtils; *

A useful scenario for this selector is inside a build environment * for homepage generation (e.g. with * Apache Forrest).

- * 
- *      generate the site using forrest 
- *     
+ * <target name="generate-and-upload-site">
+ *     <echo> generate the site using forrest </echo>
+ *     <antcall target="site"/>
  *
- *      upload the changed files 
- *     
- *         
- *             
- *         
- *     
- * 
+ *     <echo> upload the changed files </echo>
+ *     <ftp server="${ftp.server}" userid="${ftp.user}" password="${ftp.pwd}">
+ *         <fileset dir="htdocs/manual">
+ *             <modified/>
+ *         </fileset>
+ *     </ftp>
+ * </target>
  * 
Here all changed files are uploaded to the server. The * ModifiedSelector saves therefore much upload time.

* - *

This selector supports the following attributes: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
namevaluesdescriptionrequired
cache propertyfile which cache implementation should be used
    - *
  • propertyfile - using java.util.Properties
  • - *
no, defaults to 'propertyfile'
algorithm hashvalue | digest | checksum which algorithm implementation should be used - *
  • hashvalue - loads the file content into a String and - * uses its hashValue() method
  • - *
  • digest - uses java.security.MessageDigest class - *
  • checksum - uses java.util.zip.Checksum interface - *
  • no, defaults to digest
    comparator equal | rule which comparator implementation should be used - *
  • equal - simple comparison using String.equals()
  • - *
  • rule - uses java.text.RuleBasedCollator class - *
  • no, defaults to equal
    update true | false If set to true, the cache will be stored, otherwise the values - * will be lost. no, defaults to true
    seldirs true | false If set to true, directories will be selected otherwise not no, defaults to true
    delayupdate true | false If set to true, the storage of the cache will be delayed until the - * next finished BuildEvent; task finished, target finished or build finished, - * whichever comes first. This is provided for increased performance. If set - * to false, the storage of the cache will happen with each change. This - * attribute depends upon the update attribute. no, defaults to true
    cacheclass classname which custom cache implementation should be used no
    algorithmclass classname which custom algorithm implementation should be used no
    comparatorclass classname which custom comparator implementation should be used no
    cache.* depends on used cache value is stored and given to the Cache-Object for initialisation depends on used cache
    algorithm.* depends on used algorithm value is stored and given to the Algorithm-Object for initialisation depends on used algorithm
    comparator.* depends on used comparator value is stored and given to the Comparator-Object for initialisation depends on used comparator
    - * If another name is used a BuildException "Invalid parameter" is thrown.

    - * - *

    Additionally this selector supports a nested <classpath>.

    * *

    This selector uses reflection for setting the values of its three interfaces * (using org.apache.tools.ant.IntrospectionHelper) therefore no special @@ -231,10 +137,9 @@ import org.apache.tools.ant.util.ResourceUtils; * comparators. All present setXX methods can be used. E.g. the DigestAlgorithm * can use a specified provider for computing its value. For selecting this * there is a setProvider(String providername) method. So you can use - * a nested . + * a nested <param name="algorithm.provider" value="MyProvider"/>. * * - * @version 2005-07-19 * @since Ant 1.6 */ public class ModifiedSelector extends BaseExtendSelector @@ -524,7 +429,7 @@ public class ModifiedSelector extends BaseExtendSelector * * @param resource The resource to check * @return whether the resource is selected - * @see org.apache.tools.ant.types.resources.selectors.ResourceSelector#isSelected(org.apache.tools.ant.types.Resource) + * @see ResourceSelector#isSelected(Resource) */ public boolean isSelected(Resource resource) { if (resource.isFilesystemOnly()) { @@ -785,6 +690,7 @@ public class ModifiedSelector extends BaseExtendSelector * Overwrite implementation in superclass because only special * parameters are valid. * @see #addParam(String,Object). + * @param parameters the parameters to set. */ public void setParameters(Parameter[] parameters) { if (parameters != null) { @@ -991,6 +897,7 @@ public class ModifiedSelector extends BaseExtendSelector */ public static class CacheName extends EnumeratedAttribute { /** @see EnumeratedAttribute#getValues() */ + /** {@inheritDoc} */ public String[] getValues() { return new String[] {"propertyfile" }; } @@ -1016,6 +923,7 @@ public class ModifiedSelector extends BaseExtendSelector */ public static class AlgorithmName extends EnumeratedAttribute { /** @see EnumeratedAttribute#getValues() */ + /** {@inheritDoc} */ public String[] getValues() { return new String[] {"hashvalue", "digest", "checksum" }; } @@ -1041,6 +949,7 @@ public class ModifiedSelector extends BaseExtendSelector */ public static class ComparatorName extends EnumeratedAttribute { /** @see EnumeratedAttribute#getValues() */ + /** {@inheritDoc} */ public String[] getValues() { return new String[] {"equal", "rule" }; }