java.lang.Object
org.supercsv.cellprocessor.CellProcessorAdaptor
org.supercsv.cellprocessor.constraint.Strlen
All Implemented Interfaces:
CellProcessor, StringCellProcessor

public class Strlen extends CellProcessorAdaptor implements StringCellProcessor
This processor ensures that the input String has a length equal to any of the supplied lengths. The length constraints must all be > 0 or an exception is thrown. Lookup time is O(1).
  • 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
    Strlen(int... requiredLengths)
    Constructs a new Strlen processor, which ensures that the input String has a length equal to any of the supplied lengths.
    Strlen(int[] requiredLengths, CellProcessor next)
    Constructs a new Strlen processor, which ensures that the input String has a length equal to any of the supplied lengths, then calls the next processor in the chain.
    Strlen(int requiredLength, CellProcessor next)
    Constructs a new Strlen processor, which ensures that the input String has a length equal to the supplied length, then calls the next processor in the chain.
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    checkAndAddLengths(int... requiredLengths)
    Adds each required length, ensuring it isn't negative.
    private static void
    checkPreconditions(int... requiredLengths)
    Checks the preconditions for creating a new Strlen 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

    • requiredLengths

      private final Set<Integer> requiredLengths
  • Constructor Details

    • Strlen

      public Strlen(int... requiredLengths)
      Constructs a new Strlen processor, which ensures that the input String has a length equal to any of the supplied lengths.
      Parameters:
      requiredLengths - one or more required lengths
      Throws:
      NullPointerException - if requiredLengths is null
      IllegalArgumentException - if requiredLengths is empty or contains a negative length
    • Strlen

      public Strlen(int requiredLength, CellProcessor next)
      Constructs a new Strlen processor, which ensures that the input String has a length equal to the supplied length, then calls the next processor in the chain.
      Parameters:
      requiredLength - the required length
      next - the next processor in the chain
      Throws:
      NullPointerException - if next is null
      IllegalArgumentException - if requiredLength is negative
    • Strlen

      public Strlen(int[] requiredLengths, CellProcessor next)
      Constructs a new Strlen processor, which ensures that the input String has a length equal to any of the supplied lengths, then calls the next processor in the chain.
      Parameters:
      requiredLengths - one or more required lengths
      next - the next processor in the chain
      Throws:
      NullPointerException - if requiredLengths or next is null
      IllegalArgumentException - if requiredLengths is empty or contains a negative length
  • Method Details

    • checkPreconditions

      private static void checkPreconditions(int... requiredLengths)
      Checks the preconditions for creating a new Strlen processor.
      Parameters:
      requiredLengths - one or more required lengths
      Throws:
      NullPointerException - if requiredLengths is null
      IllegalArgumentException - if requiredLengths is empty
    • checkAndAddLengths

      private void checkAndAddLengths(int... requiredLengths)
      Adds each required length, ensuring it isn't negative.
      Parameters:
      requiredLengths - one or more required lengths
      Throws:
      IllegalArgumentException - if a supplied length is negative
    • 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 the length of value isn't one of the required lengths