Class RequireHashCode
java.lang.Object
org.supercsv.cellprocessor.CellProcessorAdaptor
org.supercsv.cellprocessor.constraint.RequireHashCode
- All Implemented Interfaces:
BoolCellProcessor
,CellProcessor
,DateCellProcessor
,DoubleCellProcessor
,LongCellProcessor
,StringCellProcessor
public class RequireHashCode
extends CellProcessorAdaptor
implements BoolCellProcessor, 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
FieldsFields inherited from class org.supercsv.cellprocessor.CellProcessorAdaptor
next
-
Constructor Summary
ConstructorsConstructorDescriptionRequireHashCode
(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 TypeMethodDescriptionprivate 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
-
Field Details
-
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 nullIllegalArgumentException
- if requiredHashcodes is empty
-
RequireHashCode
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 hashcodenext
- the next processor in the chain- Throws:
NullPointerException
- if next is null
-
RequireHashCode
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 hashcodesnext
- the next processor in the chain- Throws:
NullPointerException
- if requiredHashcodes or next is nullIllegalArgumentException
- 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 nullIllegalArgumentException
- if requiredHashcodes is empty
-
execute
This method is invoked by the framework when the processor needs to process data or check constraints.- Specified by:
execute
in interfaceCellProcessor
- Parameters:
value
- the value to be processedcontext
- the CSV context- Returns:
- the result of cell processor execution
- Throws:
SuperCsvCellProcessorException
- if value is nullSuperCsvConstraintViolationException
- if value isn't one of the required hash codes
-