Class Recognizer

java.lang.Object
org.glassfish.pfl.basic.tools.file.Recognizer
All Implemented Interfaces:
Predicate<FileWrapper>, UnaryPredicate<FileWrapper>, Scanner.Action

public class Recognizer extends Object implements Scanner.Action
Recognizes files according to patterns, and performs actions accordingly.
  • Field Details

  • Constructor Details

    • Recognizer

      Recognizer(int verbose, boolean dryRun)
  • Method Details

    • dump

      public void dump()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • addKnownName

      public void addKnownName(String name, Scanner.Action action)
    • addKnownSuffix

      public void addKnownSuffix(String suffix, Scanner.Action action)
    • setShellScriptAction

      public 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. 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

      public void setDefaultAction(Scanner.Action action)
      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

      public boolean evaluate(FileWrapper file)
      Apply the action that matches the classification of this file. Returns the result of that action.
      Specified by:
      evaluate in interface UnaryPredicate<FileWrapper>
      Parameters:
      file - The file to act upon.
      Returns:
      result of matching action.