Ein Validator Composite ist ein IValidator
,
welche mehrere IValidator
verwendet, um seine
validate()
Methode zu implementieren. Die
statische Accessor Klasss ValidatorComposite
liefert folgende Methoden zur Erzeugung eines Validator
Composite:
public static <VALUE_TYPE> IValidator<VALUE_TYPE> create( final IValidator<VALUE_TYPE> validator1, final IValidator<VALUE_TYPE> validator2) {...} public static <VALUE_TYPE> IValidatorCompositeBuilder<VALUE_TYPE> builder() {...}
Die erste Methode erzeugt aus zwei Validatoren einen
neuen IValidator
. Dabei
können sowohl validator1
als auch
validator2
als auch beide
null
sein. Der resultierende Validator fügt
die Validation Results
beider Validatoren zu einem neuen Validation Result zusammen.
Ist ein Parameter (validator1
,
validator2
) null
wird
stellvertretend ein
OkValidator verwendet.
Die Methode builder()
liefert ein
IValidatorCompositeBuilder
. Dieser hat die
folgenden Methoden:
IValidatorCompositeBuilder<VALUE_TYPE> add(IValidator<VALUE_TYPE> validator); IValidatorCompositeBuilder<VALUE_TYPE> addAll(Iterable<? extends IValidator<VALUE_TYPE>> validators); IValidator<VALUE_TYPE> build();
Die Methode add()
fügt einen einzelen
Validator hinzu, die Methode addAll()
eine
Liste von Validatoren. Die Methode build() erzeugt einen neuen
Composite Validator. Das folgende Beispiel demonstriert die
Verwendung:
1 final IValidatorCompositeBuilder<Person> builder = ValidatorComposite.builder(); 2 builder 3 .add(notNullValidator) 4 .add(adultValidator) 5 .add(maleValidator); 6 7 IValidator<Person> maleAdultPersonValidator = builder.build();