com.aol.cyclops.matcher.builders.InMatchOfManyStep2 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cyclops-pattern-matching-collections Show documentation
Show all versions of cyclops-pattern-matching-collections Show documentation
Advanced pattern matching for Java 8
package com.aol.cyclops.matcher.builders;
import java.util.List;
import lombok.AllArgsConstructor;
import org.hamcrest.Matcher;
import com.aol.cyclops.matcher.Action;
import com.aol.cyclops.matcher.TypedFunction;
@AllArgsConstructor
public class InMatchOfManyStep2 {
private final Matcher[] predicates;
private final PatternMatcher patternMatcher;
private final CaseBeingBuilt cse;
/**
* Create a new Case with the supplied ActionWithReturn as the action
*
* @param a Action to be executed when the new Case is triggered
* @return Pattern Matcher Builder
*/
public CollectionMatchingInstance thenApply(TypedFunction, X> a){
return addCase(patternMatcher.inMatchOfMany( a,predicates));
}
/**
* Create a new Case with the supplied ActionWithReturn as the action
*
* @param a Action to be executed when the new Case is triggered
* @return Pattern Matcher Builder
*/
public CollectionMatchingInstance thenConsume(Action> a){
return addCase(patternMatcher.matchOfMany( a,predicates));
}
private CollectionMatchingInstance addCase(PatternMatcher o){
return new CollectionMatchingInstance<>(cse.withPatternMatcher(o));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy