Class RequireHashCode

java.lang.Object
org.supercsv.cellprocessor.CellProcessorAdaptor
org.supercsv.cellprocessor.constraint.RequireHashCode
All Implemented Interfaces:
BoolCellProcessor, CellProcessor, DateCellProcessor, DoubleCellProcessor, LongCellProcessor, StringCellProcessor

This processor converts the input to a String, and ensures that the input's hash function matches any of a given set of hashcodes. Lookup time is O(1).

This constraint is a very efficient way of ensuring constant expressions are present in certain columns of the CSV file, such as "BOSS", "EMPLOYEE", or when a column denotes an action to be taken for the input line such as "D" (delete), "I" (insert), ...

Since:
1.50
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Set<Integer>
     

    Fields inherited from class org.supercsv.cellprocessor.CellProcessorAdaptor

    next
  • Constructor Summary

    Constructors
    Constructor
    Description
    RequireHashCode(int... requiredHashcodes)
    Constructs a new RequireHashCode processor, which converts the input to a String, and ensures that the input's hash function matches any of a given set of hashcodes.
    RequireHashCode(int[] requiredHashcodes, CellProcessor next)
    Constructs a new RequireHashCode processor, which converts the input to a String, ensures that the input's hash function matches any of a given set of hashcodes, then calls the next processor in the chain.
    RequireHashCode(int requiredHashcode, CellProcessor next)
    Constructs a new RequireHashCode processor, which converts the input to a String, ensures that the input's hash function matches the supplied hashcode, then calls the next processor in the chain.
  • Method Summary

    Modifier and Type
    Method
    Description
    private static void
    checkPreconditions(int... requiredHashcodes)
    Checks the preconditions for creating a new RequireHashCode processor.
    execute(Object value, CsvContext context)
    This method is invoked by the framework when the processor needs to process data or check constraints.

    Methods inherited from class org.supercsv.cellprocessor.CellProcessorAdaptor

    toString, validateInputNotNull

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • requiredHashCodes

      private final Set<Integer> requiredHashCodes
  • Constructor Details

    • RequireHashCode

      public RequireHashCode(int... requiredHashcodes)
      Constructs a new RequireHashCode processor, which converts the input to a String, and ensures that the input's hash function matches any of a given set of hashcodes.
      Parameters:
      requiredHashcodes - one or more hashcodes
      Throws:
      NullPointerException - if requiredHashcodes is null
      IllegalArgumentException - if requiredHashcodes is empty
    • RequireHashCode

      public RequireHashCode(int requiredHashcode, CellProcessor next)
      Constructs a new RequireHashCode processor, which converts the input to a String, ensures that the input's hash function matches the supplied hashcode, then calls the next processor in the chain.
      Parameters:
      requiredHashcode - the required hashcode
      next - the next processor in the chain
      Throws:
      NullPointerException - if next is null
    • RequireHashCode

      public RequireHashCode(int[] requiredHashcodes, CellProcessor next)
      Constructs a new RequireHashCode processor, which converts the input to a String, ensures that the input's hash function matches any of a given set of hashcodes, then calls the next processor in the chain.
      Parameters:
      requiredHashcodes - one or more hashcodes
      next - the next processor in the chain
      Throws:
      NullPointerException - if requiredHashcodes or next is null
      IllegalArgumentException - if requiredHashcodes is empty
  • Method Details

    • checkPreconditions

      private static void checkPreconditions(int... requiredHashcodes)
      Checks the preconditions for creating a new RequireHashCode processor.
      Parameters:
      requiredHashcodes - the supplied hashcodes
      Throws:
      NullPointerException - if requiredHashcodes is null
      IllegalArgumentException - if requiredHashcodes is empty
    • execute

      public Object execute(Object value, CsvContext context)
      This method is invoked by the framework when the processor needs to process data or check constraints.
      Specified by:
      execute in interface CellProcessor
      Parameters:
      value - the value to be processed
      context - the CSV context
      Returns:
      the result of cell processor execution
      Throws:
      SuperCsvCellProcessorException - if value is null
      SuperCsvConstraintViolationException - if value isn't one of the required hash codes