Summary
Base generic
Specification
interface for
complex solutions with validation and Linq
support.
- Namespace
- FluentSpecification
.Abstractions .Generic - Interfaces
- Implementing Types
-
- Credit
Card Specification - Max
Length Specification <T> - AndSpecification
<T> - Exclusive
Between Specification <T> - Property
Specification <T, TProperty> - Base
Length Specification <T> - Contains
Specification - Less
Than Specification <T> - Base
Greater Compare Specification <T> - Base
Between Specification <T> - Less
Than Or Equal Specification <T> - Expression
Specification <T> - TrueSpecification
- CastSpecification
<T, TCast> - MatchSpecification
- Base
Compare Specification <T> - FalseSpecification
- AllSpecification
<T, TType> - NullSpecification
<T> - EmailSpecification
- ComplexSpecification
<T> - EqualSpecification
<T> - Greater
Than Specification <T> - Composite
Specification <T> - Min
Length Specification <T> - IsTypeSpecification
<T> - Inclusive
Between Specification <T> - Greater
Than Or Equal Specification <T> - OrSpecification
<T> - AnySpecification
<T, TType> - Base
Less Compare Specification <T> - NotSpecification
<T> - LengthSpecification
<T> - EmptySpecification
<T> - Length
Between Specification <T> - Contains
Specification <T, TType> - Base
Collection Specification <T, TType>
- Credit
graph BT
Type-.->Interface0["IValidationSpecification<T>"]
Type-.->Interface1["ILinqSpecification<T>"]
Type-.->Interface2["ILinqSpecification"]
click Interface2 "/FluentSpecification/api/FluentSpecification.Abstractions/ILinqSpecification"
Type-.->Interface3["ISpecification<T>"]
Type-.->Interface4["ISpecification"]
click Interface4 "/FluentSpecification/api/FluentSpecification.Abstractions/ISpecification"
Type["IComplexSpecification<T>"]
class Type type-node
Implementing0["CreditCardSpecification"]-.->Type
click Implementing0 "/FluentSpecification/api/FluentSpecification.Common/CreditCardSpecification"
Implementing1["MaxLengthSpecification<T>"]-.->Type
click Implementing1 "/FluentSpecification/api/FluentSpecification.Common/MaxLengthSpecification_1"
Implementing2["AndSpecification<T>"]-.->Type
click Implementing2 "/FluentSpecification/api/FluentSpecification.Core.Composite/AndSpecification_1"
Implementing3["ExclusiveBetweenSpecification<T>"]-.->Type
click Implementing3 "/FluentSpecification/api/FluentSpecification.Common/ExclusiveBetweenSpecification_1"
Implementing4["PropertySpecification<T, TProperty>"]-.->Type
click Implementing4 "/FluentSpecification/api/FluentSpecification.Core.Composite/PropertySpecification_2"
Implementing5["BaseLengthSpecification<T>"]-.->Type
click Implementing5 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseLengthSpecification_1"
Implementing6["ContainsSpecification"]-.->Type
click Implementing6 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification"
Implementing7["LessThanSpecification<T>"]-.->Type
click Implementing7 "/FluentSpecification/api/FluentSpecification.Common/LessThanSpecification_1"
Implementing8["BaseGreaterCompareSpecification<T>"]-.->Type
click Implementing8 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseGreaterCompareSpecification_1"
Implementing9["BaseBetweenSpecification<T>"]-.->Type
click Implementing9 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseBetweenSpecification_1"
Implementing10["LessThanOrEqualSpecification<T>"]-.->Type
click Implementing10 "/FluentSpecification/api/FluentSpecification.Common/LessThanOrEqualSpecification_1"
Implementing11["ExpressionSpecification<T>"]-.->Type
click Implementing11 "/FluentSpecification/api/FluentSpecification.Common/ExpressionSpecification_1"
Implementing12["TrueSpecification"]-.->Type
click Implementing12 "/FluentSpecification/api/FluentSpecification.Common/TrueSpecification"
Implementing13["CastSpecification<T, TCast>"]-.->Type
click Implementing13 "/FluentSpecification/api/FluentSpecification.Core.Composite/CastSpecification_2"
Implementing14["MatchSpecification"]-.->Type
click Implementing14 "/FluentSpecification/api/FluentSpecification.Common/MatchSpecification"
Implementing15["BaseCompareSpecification<T>"]-.->Type
click Implementing15 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseCompareSpecification_1"
Implementing16["FalseSpecification"]-.->Type
click Implementing16 "/FluentSpecification/api/FluentSpecification.Common/FalseSpecification"
Implementing17["AllSpecification<T, TType>"]-.->Type
click Implementing17 "/FluentSpecification/api/FluentSpecification.Common/AllSpecification_2"
Implementing18["NullSpecification<T>"]-.->Type
click Implementing18 "/FluentSpecification/api/FluentSpecification.Common/NullSpecification_1"
Implementing19["EmailSpecification"]-.->Type
click Implementing19 "/FluentSpecification/api/FluentSpecification.Common/EmailSpecification"
Implementing20["ComplexSpecification<T>"]-.->Type
click Implementing20 "/FluentSpecification/api/FluentSpecification.Core/ComplexSpecification_1"
Implementing21["EqualSpecification<T>"]-.->Type
click Implementing21 "/FluentSpecification/api/FluentSpecification.Common/EqualSpecification_1"
Implementing22["GreaterThanSpecification<T>"]-.->Type
click Implementing22 "/FluentSpecification/api/FluentSpecification.Common/GreaterThanSpecification_1"
Implementing23["CompositeSpecification<T>"]-.->Type
click Implementing23 "/FluentSpecification/api/FluentSpecification.Core.Composite/CompositeSpecification_1"
Implementing24["MinLengthSpecification<T>"]-.->Type
click Implementing24 "/FluentSpecification/api/FluentSpecification.Common/MinLengthSpecification_1"
Implementing25["IsTypeSpecification<T>"]-.->Type
click Implementing25 "/FluentSpecification/api/FluentSpecification.Common/IsTypeSpecification_1"
Implementing26["InclusiveBetweenSpecification<T>"]-.->Type
click Implementing26 "/FluentSpecification/api/FluentSpecification.Common/InclusiveBetweenSpecification_1"
Implementing27["GreaterThanOrEqualSpecification<T>"]-.->Type
click Implementing27 "/FluentSpecification/api/FluentSpecification.Common/GreaterThanOrEqualSpecification_1"
Implementing28["OrSpecification<T>"]-.->Type
click Implementing28 "/FluentSpecification/api/FluentSpecification.Core.Composite/OrSpecification_1"
Implementing29["AnySpecification<T, TType>"]-.->Type
click Implementing29 "/FluentSpecification/api/FluentSpecification.Common/AnySpecification_2"
Implementing30["BaseLessCompareSpecification<T>"]-.->Type
click Implementing30 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseLessCompareSpecification_1"
Implementing31["NotSpecification<T>"]-.->Type
click Implementing31 "/FluentSpecification/api/FluentSpecification.Core.Composite/NotSpecification_1"
Implementing32["LengthSpecification<T>"]-.->Type
click Implementing32 "/FluentSpecification/api/FluentSpecification.Common/LengthSpecification_1"
Implementing33["EmptySpecification<T>"]-.->Type
click Implementing33 "/FluentSpecification/api/FluentSpecification.Common/EmptySpecification_1"
Implementing34["LengthBetweenSpecification<T>"]-.->Type
click Implementing34 "/FluentSpecification/api/FluentSpecification.Common/LengthBetweenSpecification_1"
Implementing35["ContainsSpecification<T, TType>"]-.->Type
click Implementing35 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification_2"
Implementing36["BaseCollectionSpecification<T, TType>"]-.->Type
click Implementing36 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseCollectionSpecification_2"
Syntax
[PublicAPI]
public interface IComplexSpecification<T> : IValidationSpecification<T>, ILinqSpecification<T>,
ILinqSpecification, ISpecification<T>, ISpecification
Remarks
Default "handler" for all kinds of complex Specifications
.
Attributes
Type | Description |
---|---|
PublicAPI |
Type Parameters
Name | Description |
---|---|
T | Type of candidate to verify. |
Extension Methods
Name | Value | Summary |
---|---|---|
And |
I |
Creates logical AND
Specification with newly created TSpecification.
From SpecificationCore
|
And |
I |
Creates composite
Specification proxy for final logical AND Specification .
From SpecificationCore
|
And |
I |
Creates logical AND
Specification .
From SpecificationCore
|
AndNot |
I |
Creates logical AND
Specification with newly created and negated TSpecification.
From SpecificationCore
|
AndNot |
I |
Creates composite
Specification proxy for final logical AND Specification .
Second Specification is negated.
From SpecificationCore
|
AndNot |
I |
Creates logical AND
Specification with negated other.
From SpecificationCore
|
As |
I |
Converts
Specification to complex Specification .
From SpecificationCore
|
AsExpression |
Expression |
Converts
Specification to Linq Expression<T> .
From SpecificationCore
|
AsPredicate |
Func |
Converts
Specification to Func<T, TResult> predicate.
From SpecificationCore
|
Not |
I |
Creates logical NOT
Specification .
From SpecificationCore
|
Or |
I |
Creates logical OR
Specification with newly created TSpecification.
From SpecificationCore
|
Or |
I |
Creates composite
Specification proxy for final logical OR Specification .
From SpecificationCore
|
Or |
I |
Creates logical OR
Specification .
From SpecificationCore
|
OrNot |
I |
Creates logical OR
Specification with newly created and negated TSpecification.
From SpecificationCore
|
OrNot |
I |
Creates composite
Specification proxy for final logical OR Specification .
Second Specification is negated.
From SpecificationCore
|
OrNot |
I |
Creates logical OR
Specification with negated other.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message factory where not satisfied by.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message factory where not satisfied by.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message where not satisfied by.
From SpecificationCore
|