Class Recognizer
java.lang.Object
org.glassfish.pfl.basic.tools.file.Recognizer
- All Implemented Interfaces:
Predicate<FileWrapper>
,UnaryPredicate<FileWrapper>
,Scanner.Action
Recognizes files according to patterns, and performs actions accordingly.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Scanner.Action
private final boolean
private final Map
<String, Scanner.Action> private Scanner.Action
private final Map
<String, Scanner.Action> private final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addKnownName
(String name, Scanner.Action action) void
addKnownSuffix
(String suffix, Scanner.Action action) void
dump()
boolean
evaluate
(FileWrapper file) Apply the action that matches the classification of this file.void
setDefaultAction
(Scanner.Action action) This defines the default action.void
setShellScriptAction
(Scanner.Action action) If set, this defines the action taken for text files that start with the patter "#!", which is the standard for all *nix shell scripts.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.glassfish.pfl.basic.func.UnaryPredicate
test
-
Field Details
-
verbose
private final int verbose -
dryRun
private final boolean dryRun -
nameActions
-
suffixActions
-
shellScriptAction
-
defaultAction
-
-
Constructor Details
-
Recognizer
Recognizer(int verbose, boolean dryRun)
-
-
Method Details
-
dump
public void dump() -
toString
-
addKnownName
-
addKnownSuffix
-
setShellScriptAction
If set, this defines the action taken for text files that start with the patter "#!", which is the standard for all *nix shell scripts. If not set, such files are handled by the default action (if not otherwise handled by name or suffix match.- Parameters:
action
- The action to perform on shell scripts.
-
setDefaultAction
This defines the default action. The standard default action prints a message identifying the File that was not processed, and returns false. This allows overriding the default action.- Parameters:
action
- The default action is nothing else matches.
-
evaluate
Apply the action that matches the classification of this file. Returns the result of that action.- Specified by:
evaluate
in interfaceUnaryPredicate<FileWrapper>
- Parameters:
file
- The file to act upon.- Returns:
- result of matching action.
-