Interface ConstraintProvider<T extends Constrainable>
- Type Parameters:
T- constrainable type
- All Known Implementing Classes:
AttributeDefinitionConstraintProvider,BaseConstraintProvider,ComplexAttributeDefinitionConstraintProvider,DataObjectEntryConstraintProvider
public interface ConstraintProvider<T extends Constrainable>
ConstraintProvider determines a list of constraints for a given Constrainable definition for an attribute
in the data dictionary
The ConstraintProvider interface must be implemented by any class that contributes Constraints to the DictionaryValidationService. Multiple ConstraintProviders can be registered simultaneously, and each can contribute constraints for any number of constraint types.
These constraints can be looked up in a variety of ways. They may be:
- member variables of the Constrainable definition itself
CaseConstrainable - provided from some external source, or generated on the fly
The goal here is to provide a mechanism that enables implementing institutions to inject new Constraints and ConstraintProcessor classes into the DictionaryValidationService implementation via dependency injection.
- Since:
- 1.1
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Method Summary
Modifier and TypeMethodDescriptiongetConstraints(T definition, Class<? extends Constraint> constraintType) gets the constraints providedbooleanisSupported(Constrainable definition) checks whether this provider supports the provided definition
-
Method Details
-
getConstraints
gets the constraints provided- Parameters:
definition- - a Data Dictionary definition e.g.ComplexAttributeDefinitionorCollectionDefinitionconstraintType- - a java class that represents the constraint- Returns:
- the list of constraints
-
isSupported
checks whether this provider supports the provided definition- Parameters:
definition- - a Data Dictionary definition e.g.AttributeDefinition- Returns:
- true if supported, false otherwise
-