Top Description Fields Constructors Methods
com.opencsv.validators

public Class LineValidatorAggregator

extends Object
Class Inheritance
Imports
com.opencsv.exceptions.CsvValidationException, java.util.ArrayList, .List

The aggregator's purpose is to collect multiple LineValidators and run them against a single line. This way complex validations can be performed.
Author
Scott Conway
Since
5.0

Field Summary

Modifier and TypeField and Description
private static final int
private static final int
private List<LineValidator>

Constructor Summary

AccessConstructor and Description
public
LineValidatorAggregator()

Default constructor.

Method Summary

Modifier and TypeMethod and Description
public void
addValidator(LineValidator
Validator to be added.
validator
)

Add an validator to the aggregator.

public boolean

Returns:

true if all validators' LineValidator#isValid(String) methods return true, false otherwise.
isValid
(final String
String to be validated.
line
)

Runs all LineValidators' LineValidator#isValid(String) method against the line.

pack-priv void
setValidators(List<LineValidator>
- list of validators to use.
validators
)

Setter created for unit test.

public void
validate(String
String to be validated
line
)

Runs all LineValidators validate commands and if the string is invalid then it combines all the validation error messages in a single CsvValidationException.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CAPACITYback to summary
private static final int CAPACITY
MULTIPLIERback to summary
private static final int MULTIPLIER
validatorsback to summary
private List<LineValidator> validators

Constructor Detail

LineValidatorAggregatorback to summary
public LineValidatorAggregator()

Default constructor.

Method Detail

addValidatorback to summary
public void addValidator(LineValidator validator)

Add an validator to the aggregator.

Parameters
validator:LineValidator

Validator to be added.

isValidback to summary
public boolean isValid(final String line)

Runs all LineValidators' LineValidator#isValid(String) method against the line. This is a short circuit: as soon as one validator returns false then false is returned.

Parameters
line:String

String to be validated.

Returns:boolean

true if all validators' LineValidator#isValid(String) methods return true, false otherwise.

setValidatorsback to summary
pack-priv void setValidators(List<LineValidator> validators)

Setter created for unit test.

Parameters
validators:List<LineValidator>

- list of validators to use.

validateback to summary
public void validate(String line) throws CsvValidationException

Runs all LineValidators validate commands and if the string is invalid then it combines all the validation error messages in a single CsvValidationException.

Parameters
line:String

String to be validated

Exceptions
CsvValidationException:
Thrown if the string is invalid