Record Class Constraint<T>
java.lang.Object
java.lang.Record
be.sddevelopment.validation.core.Constraint<T>
- Type Parameters:
T
- type of the object onto which the rule can be applied- Record Components:
rule
- a method that accepts an object of type T and returns a boolean that indicates if it matches the validation criterium.description
- textual description of the validation rule
Represents a single constraint / validation rule, which can be applied to an object of type T.
- Version:
- 1.0.0-SNAPSHOT
- Author:
- Stijn Dejongh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder for theConstraint
class, enabling a more readable code style. -
Constructor Summary
ConstructorDescriptionConstraint
(Predicate<T> rule, String description) Creates an instance of aConstraint
record class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thedescription
record component.boolean
Indicates whether some other object is "equal to" this one.int
hashCode()
Returns a hash code value for this object.rule()
Returns the value of therule
record component.static <S> Constraint.ConstraintBuilder
<S> Factory method to create a newConstraint.ConstraintBuilder
instance.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
Constraint
Creates an instance of aConstraint
record class.- Parameters:
rule
- the value for therule
record componentdescription
- the value for thedescription
record component
-
-
Method Details
-
ruleFor
Factory method to create a newConstraint.ConstraintBuilder
instance.- Type Parameters:
S
- type of the object onto which the rule can be applied- Parameters:
ignoredClass
- class to be ignored, as this method is only used as a type parameter to create a new instance of the builder- Returns:
- a new instance of the
Constraint.ConstraintBuilder
class, able to evaluate a rule on an object of type S
-
applyTo
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
hashCode
Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
toString
-
rule
-
description
Returns the value of thedescription
record component.- Returns:
- the value of the
description
record component
-