Summary
Base implementation of
IComplexSpecification<T>
and INegatableLinqSpecification<T>
.
Inherited functionality from ValidationSpecification<T>
and
NegatableValidationSpecification<T>
.
- Namespace
- FluentSpecification
.Core - Interfaces
- Base Types
- Derived Types
-
- Credit
Card Specification - Base
Length Specification <T> - Contains
Specification - Base
Between Specification <T> - TrueSpecification
- MatchSpecification
- Base
Compare Specification <T> - FalseSpecification
- NullSpecification
<T> - EmailSpecification
- EqualSpecification
<T> - IsTypeSpecification
<T> - EmptySpecification
<T> - Contains
Specification <T, TType>
- Credit
graph BT
Type-->Base0["NegatableValidationSpecification<T>"]
Base0-->Base1["ValidationSpecification<T>"]
Base1-->Base2["object"]
Type-.->Interface0["INegatableValidationSpecification<T>"]
Type-.->Interface1["IComplexSpecification<T>"]
Type-.->Interface2["IValidationSpecification<T>"]
Type-.->Interface3["ILinqSpecification<T>"]
Type-.->Interface4["ILinqSpecification"]
click Interface4 "/FluentSpecification/api/FluentSpecification.Abstractions/ILinqSpecification"
Type-.->Interface5["ISpecification<T>"]
Type-.->Interface6["INegatableLinqSpecification<T>"]
Type-.->Interface7["INegatableSpecification<T>"]
Type-.->Interface8["ISpecification"]
click Interface8 "/FluentSpecification/api/FluentSpecification.Abstractions/ISpecification"
Type["ComplexSpecification<T>"]
class Type type-node
Derived0["CreditCardSpecification"]-->Type
click Derived0 "/FluentSpecification/api/FluentSpecification.Common/CreditCardSpecification"
Derived1["BaseLengthSpecification<T>"]-->Type
click Derived1 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseLengthSpecification_1"
Derived2["ContainsSpecification"]-->Type
click Derived2 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification"
Derived3["BaseBetweenSpecification<T>"]-->Type
click Derived3 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseBetweenSpecification_1"
Derived4["TrueSpecification"]-->Type
click Derived4 "/FluentSpecification/api/FluentSpecification.Common/TrueSpecification"
Derived5["MatchSpecification"]-->Type
click Derived5 "/FluentSpecification/api/FluentSpecification.Common/MatchSpecification"
Derived6["BaseCompareSpecification<T>"]-->Type
click Derived6 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseCompareSpecification_1"
Derived7["FalseSpecification"]-->Type
click Derived7 "/FluentSpecification/api/FluentSpecification.Common/FalseSpecification"
Derived8["NullSpecification<T>"]-->Type
click Derived8 "/FluentSpecification/api/FluentSpecification.Common/NullSpecification_1"
Derived9["EmailSpecification"]-->Type
click Derived9 "/FluentSpecification/api/FluentSpecification.Common/EmailSpecification"
Derived10["EqualSpecification<T>"]-->Type
click Derived10 "/FluentSpecification/api/FluentSpecification.Common/EqualSpecification_1"
Derived11["IsTypeSpecification<T>"]-->Type
click Derived11 "/FluentSpecification/api/FluentSpecification.Common/IsTypeSpecification_1"
Derived12["EmptySpecification<T>"]-->Type
click Derived12 "/FluentSpecification/api/FluentSpecification.Common/EmptySpecification_1"
Derived13["ContainsSpecification<T, TType>"]-->Type
click Derived13 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification_2"
Syntax
[PublicAPI]
public abstract class ComplexSpecification<T> : NegatableValidationSpecification<T>,
INegatableValidationSpecification<T>, IComplexSpecification<T>, IValidationSpecification<T>,
ILinqSpecification<T>, ILinqSpecification, ISpecification<T>, INegatableLinqSpecification<T>,
INegatableSpecification<T>, ISpecification
Attributes
Type | Description |
---|---|
PublicAPI |
Type Parameters
Name | Description |
---|---|
T | Type of candidate to verify. |
Methods
Name | Value | Summary |
---|---|---|
BuildExpressionBody |
Expression |
Creates special
Expression body when T is non-value or nullable type.
|
Build |
Expression |
Creates special
Expression body when T is value non-nullable type.
|
GetExpression |
Expression |
Gets typed lambda
Linq Expression with candidate object verification.
|
Get |
Expression |
Gets typed lambda
Linq Expression with candidate object verification.
|
IsSatisfiedBy |
bool |
Checks if
Specification is satisfied by candidate object.
|
Operators
Name | Value | Summary |
---|---|---|
explicit operator |
Expression | |
implicit operator |
Expression |
|
implicit operator |
Func |
Inherited from Validation
|
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
|