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();