See: Description
Interface  Description 

GroupConstraint.AssignmentPairCheck 
Group constraints that can be checked on pairs of classes (e.g., same room means any two classes are in the same room),
only need to implement this interface.

GroupConstraint.AssignmentParameterPairCheck<P> 
Group constraints that can have parameters need to implement this interface instead of
GroupConstraint.AssignmentPairCheck or GroupConstraint.PairCheck . 
GroupConstraint.ConstraintTypeInterface 
Constraint type interface

GroupConstraint.PairCheck 
Group constraints that can be checked on pairs of classes (e.g., same room means any two classes are in the same room),
only need to implement this interface.

Class  Description 

BreakFlexibleConstraint 
The Break constraint checks for instructor lunch break or a break in general in between the given classes.

ClassLimitConstraint 
Class limit constraint.

DepartmentSpreadConstraint 
Departmental ballancing constraint.

DiscouragedRoomConstraint 
Discouraged room constraint.

FlexibleConstraint 
Flexible constraint.

FlexibleConstraint.PlacementTimeComparator 
Placement comparator: earlier placement first, shorter placement first if both start at the same time.

GroupConstraint 
Group constraint.

GroupConstraint.ParametrizedConstraintType<P> 
Constraint type with a parameter

IgnoreStudentConflictsConstraint 
Ignore student conflicts constraint.

InstructorConstraint 
Instructor constraint.

JenrlConstraint 
Join student enrollment constraint.

MaxBlockFlexibleConstraint 
The MaxBlock constraint checks for too big blocks of backtoback classes of an instructor.

MaxBreaksFlexibleConstraint 
The MaxBreaks constraint limits the number of blocks of non backtoback classes of an instructor on a day.

MaxConsecutiveDaysFlexibleConstraint 
The MaxConsecutiveDays constraint limits the number of consecutive days of week during which the given set of classes are taught.

MaxDaysFlexibleConstraint 
The MaxDays constraint limits the number of days of week during which the given set of classes are taught.

MaxHalfDaysFlexibleConstraint 
The MaxHalfDays constraint limits the number of halfdays of week during which the given set of classes are taught.

MaxHolesFlexibleConstraint 
The MaxHoles constraint limits the number of free time (holes) for an instructor on a day.

MaxWeeksFlexibleConstraint 
The MaxWeeks constraint limits the number of weeks during which the given set of classes are taught.

MinimizeNumberOfUsedGroupsOfTime 
Minimize number of used groups of time within a set of classes.

MinimizeNumberOfUsedRoomsConstraint 
Minimize number of used rooms within the set of classes.

RoomConstraint 
Room constraint.

SoftInstructorConstraint 
Soft version of the instructor constraint.

SpreadConstraint 
Spread given set of classes in time as much as possible.

Enum  Description 

FlexibleConstraint.FlexibleConstraintType 
Flexible constraint types

GroupConstraint.ConstraintType 
Group constraint type.

GroupConstraint.Flag 
Group constraint building blocks (individual constraints that need more than
GroupConstraint.PairCheck ) 