org.cpsolver.instructor.constraints

## Class GroupConstraint.ParametrizedConstraintType<P>

- java.lang.Object
- - org.cpsolver.instructor.constraints.GroupConstraint.ParametrizedConstraintType<P>

- All Implemented Interfaces:
    GroupConstraint.Check, GroupConstraint.ConstraintTypeInterface
  Enclosing class:
    GroupConstraint

      public static class GroupConstraint.ParametrizedConstraintType<P>
      extends Object
      implements GroupConstraint.ConstraintTypeInterface

  Distribution constraint with parameters.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParametrizedConstraintType(GroupConstraint.ConstraintType type, P parameter, String reference)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `computeConflicts(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, TeachingAssignment value, Set<TeachingAssignment> conflicts)`
    `String` | `getName()`
    `P` | `getParameter()`
    `double` | `getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)`
    `String` | `reference()`
    `GroupConstraint.ParametrizedConstraintType<P>` | `setName(String name)`
    `GroupConstraint.ConstraintType` | `type()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ParametrizedConstraintType

          public ParametrizedConstraintType(GroupConstraint.ConstraintType type,
                                            P parameter,
                                            String reference)

  - ### Method Detail

    - #### setName

          public GroupConstraint.ParametrizedConstraintType<P> setName(String name)

    - #### getValue

          public double getValue(GroupConstraint.Distribution distribution,
                                 Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
                                 Instructor instructor,
                                 TeachingAssignment value)

      Specified by:
        `getValue` in interface `GroupConstraint.Check`

    - #### computeConflicts

          public void computeConflicts(GroupConstraint.Distribution distribution,
                                       Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
                                       TeachingAssignment value,
                                       Set<TeachingAssignment> conflicts)

      Specified by:
        `computeConflicts` in interface `GroupConstraint.Check`

    - #### getParameter

          public P getParameter()

    - #### type

          public GroupConstraint.ConstraintType type()

      Specified by:
        `type` in interface `GroupConstraint.ConstraintTypeInterface`

    - #### reference

          public String reference()

      Specified by:
        `reference` in interface `GroupConstraint.ConstraintTypeInterface`

    - #### getName

          public String getName()

      Specified by:
        `getName` in interface `GroupConstraint.ConstraintTypeInterface`