Interface ConstraintProvider<T extends Constrainable>

All Known Implementing Classes:
AttributeDefinitionConstraintProvider, BaseConstraintProvider, CollectionDefinitionConstraintProvider, 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:

  1. member variables of the Constrainable definition itself CaseConstrainable.class
  2. the Constrainable definition itself may extend Constraint LengthConstrainable.class
  3. 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.

Kuali Rice Team (

Method Summary
 List<Constraint> getConstraints(T definition, Class<? extends Constraint> constraintType)
          gets the constraints provided
 boolean isSupported(Constrainable definition)
          checks whether this provider supports the provided definition

Method Detail


List<Constraint> getConstraints(T definition,
                                Class<? extends Constraint> constraintType)
gets the constraints provided

definition - - a Data Dictionary definition e.g. ComplexAttributeDefinition or CollectionDefinition
constraintType - - a java class that represents the constraint
the list of constraints


boolean isSupported(Constrainable definition)
checks whether this provider supports the provided definition

definition - - a Data Dictionary definition e.g. AttributeDefinition
true if supported, false otherwise

Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.