Package com.carfey.ops.job.param
Class FileListProvider
- java.lang.Object
-
- com.carfey.ops.job.param.FileListProvider
-
- All Implemented Interfaces:
ListProvider
@DynamicListProvider public class FileListProvider extends java.lang.Object implements ListProvider
AListProviderwhich will enumerate files in a directory configured in a specified global parameter.Argument Usage: This provider requires one to three arguments.
- Required: Global parameter name containing the configured directory to scan. If multiple values are configured for the global parameter, files in all directories will be combined.
- Optional: Boolean value (true/false) indicating if a recursive scan into subdirectories should be used. Defaults to false.
- Optional: A regular expression containing a file mask (e.g. ".*" or ".*txt") to match against the file name. Note that this uses
Patternand not glob patterns. If not specified, all files match. - Optional: Boolean value (true/false) indicating if validation against valid existing files should be performed before execution, and not just on parameter updates. Defaults to true.
- Since:
- 3.3
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.carfey.ops.job.param.ListProvider
ListProvider.DynamicListProvider
-
-
Constructor Summary
Constructors Constructor Description FileListProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<java.lang.String>getValidValues(java.util.List<java.lang.String> arguments, boolean beforeExecute)Return a list of valid values for this parameter.protected voidprocessDirectory(java.util.LinkedHashSet<java.lang.String> collector, java.io.File dir, boolean recurse, java.util.regex.Pattern pattern)
-
-
-
Method Detail
-
getValidValues
public java.util.List<java.lang.String> getValidValues(java.util.List<java.lang.String> arguments, boolean beforeExecute) throws java.lang.ExceptionDescription copied from interface:ListProviderReturn a list of valid values for this parameter.- Specified by:
getValidValuesin interfaceListProvider- Parameters:
arguments- values supplied inParameter.listArgs()(never null)beforeExecute- indicates if this check is happening right before the job is being executed. This allows implementations to only validate valid values at configuration time by returning null when beforeExecute is true. If you wish to enforce values at all times, simply ignore this flag.- Returns:
- a list of all valid values (includes empty lists), or null, which means any value may be configured
- Throws:
java.lang.Exception- if enumeration of valid values fails
-
processDirectory
protected void processDirectory(java.util.LinkedHashSet<java.lang.String> collector, java.io.File dir, boolean recurse, java.util.regex.Pattern pattern)
-
-