| Interface | Description |
|---|---|
| ExtractionStep<T,R,X> | |
| Step<T,X> |
| Class | Description |
|---|---|
| _LastStep<X,V,T> | |
| _Simpler_Case<X> | |
| ActionWithReturnWrapper<T,X> | |
| ADTPredicateBuilder<T> |
Predicate Builder for Algebraic Data Types
Can be used to recursively match on ADTs
|
| CaseBeingBuilt | |
| CaseBuilder | |
| CaseBuilder.InCaseOfBuilder<V> | |
| CaseBuilder.InCaseOfBuilderExtractor<T,R,X> | |
| CaseBuilder.InCaseOfManyStep2<V> | |
| CaseBuilder.InCaseOfThenExtractStep<T,X,R> | |
| CaseBuilder.InMatchOfBuilder<V,X> | |
| CaseBuilder.InMatchOfManyStep2<R,V,T,X> | |
| CaseBuilder.ValueStep<V,X> | |
| CheckType<R> | |
| CheckTypeAndValues<X> |
Case builder for Algebraic Data Type or Case class matching
|
| CheckValues<X,T> | |
| ElementCase<X> |
Pattern Matcher Case Builder for matching against a single element
|
| IterableCase<X> |
Case builder for handling iterables
Predicates match against each element in the Iterable
Extractor can be used to select iterable elements
Use Extractors.same to pass the iterable itself
|
| Matching |
Pattern Matching builder
|
| MatchingInstance<T,X> |
Pattern Matching builder instance
|
| PatternMatcher |
PatternMatcher supports advanced pattern matching for Java 8
This is an API for creating Case instances and allows new type definitions to be supplied for each Case
Features include
-cases match by value
-cases match by type
-cases using predicates
inCaseOfXXX
caseOfXXX
-cases using hamcrest Matchers
inMatchOfXXX
matchOfXXX
-cases as expressions (return value) - inCaseOfXXX, inMatchOfXXX
-cases as statements (no return value) - caseOfXXX, matchOfXXX
-pre & post variable extraction via Extractor (@see com.aol.cyclops.matcher.Extractors)
-match using iterables of predicates or hamcrest Matchers
- see caseOfIterable, matchOfIterable, inCaseOfIterable, matchOfIterable
-match using tuples of predicates or hamcreate Matchers
- see caseOfTuple, matchOfTuple, inCaseOfTuple, inMatchOfTuple
- single match (match method)
- match many (matchMany)
- match against a stream (single match, match many)
|
| StreamCase |
Case Builder for building Cases from Stream data
|