Class RequireFileChecksum

All Implemented Interfaces:
EnforcerRuleBase
Direct Known Subclasses:
RequireTextFileChecksum

@Named("requireFileChecksum") public class RequireFileChecksum extends AbstractStandardEnforcerRule
Rule to validate a binary file to match the specified checksum.
Author:
Edward Samson, Lyubomyr Shaydariv
See Also:
  • Constructor Details

    • RequireFileChecksum

      public RequireFileChecksum()
  • Method Details

    • execute

      public void execute() throws EnforcerRuleException
      Description copied from class: AbstractEnforcerRule
      This is the interface into the rule. This method should throw an exception containing a reason message if the rule fails the check. The plugin will then decide based on the fail flag and rule level if it should stop or just log the message as a warning.
      Specified by:
      execute in class AbstractEnforcerRule
      Throws:
      EnforcerRuleException - the enforcer rule exception
    • setFile

      public void setFile(File file)
      The file to check.
      Parameters:
      file - file
    • getFile

      public File getFile()
    • setChecksum

      public void setChecksum(String checksum)
      The expected checksum value.
      Parameters:
      checksum - checksum
    • getChecksum

      public String getChecksum()
    • setType

      public void setType(String type)
      The checksum algorithm to use. Possible values: "md5", "sha1", "sha256", "sha384", "sha512".
      Parameters:
      type - algorithm
    • getType

      public String getType()
    • setNonexistentFileMessage

      public void setNonexistentFileMessage(String nonexistentFileMessage)
      The friendly message to use when the file does not exist.
      Parameters:
      nonexistentFileMessage - message
    • getNonexistentFileMessage

      public String getNonexistentFileMessage()
    • calculateChecksum

      protected String calculateChecksum() throws EnforcerRuleException
      Throws:
      EnforcerRuleException
    • calculateChecksum

      protected String calculateChecksum(InputStream inputStream) throws IOException, EnforcerRuleException
      Throws:
      IOException
      EnforcerRuleException
    • toString

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

      public void setLog(EnforcerLogger log)
      Used by EnforcerMojo to inject logger instance
      Specified by:
      setLog in interface EnforcerRuleBase
      Parameters:
      log - an EnforcerLogger instance
    • getLog

      public EnforcerLogger getLog()
      Provide an EnforcerLogger instance for Rule

      NOTICE A logger is not available in constructors.

      Returns:
      an EnforcerLogger instance