org.cpsolver.ifs.assignment.context

## Interface AssignmentConstraintContext<V extends Variable<V,T>,T extends Value<V,T>>

- Type Parameters:
    `V` - Variable
    `T` - Value
  All Superinterfaces:
    AssignmentContext
  All Known Implementing Classes:
    Config.ConfigContext, Course.CourseContext, DiscouragedRoomConstraint.DiscouragedRoomConstraintContext, DistanceConflict.DistanceConflictContext, ExamContext, ExamDistributionConstraint.Context, ExamRoom.ExamRoomContext, FlexibleConstraint.FlexibleConstraintContext, GroupConstraint.GroupConstraintContext, Instructor.Context, InstructorConstraint.InstructorConstraintContext, JenrlConstraint.JenrlConstraintContext, MaxBreaksFlexibleConstraint.MaxBreaksFlexibleConstraintContext, MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext, MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext, MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext, MaxHolesFlexibleConstraint.MaxHolesFlexibleConstraintContext, MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext, MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext, MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext, RequestGroup.RequestGroupContext, Reservation.ReservationContext, Resource.Context, ResourceConstraint.Context, RoomConstraint.RoomConstraintContext, SameInstructorConstraint.Context, SameLinkConstraint.Context, Section.SectionContext, SoftInstructorConstraint.SoftInstructorConstraintContext, SpreadConstraint.SpreadConstraintContext, StudentQuality.StudentQualityContext, StudentSectioningModel.StudentSectioningModelContext, TimeOverlapsCounter.TimeOverlapsCounterContext

      public interface AssignmentConstraintContext<V extends Variable<V,T>,T extends Value<V,T>>
      extends AssignmentContext

  An extension of the simple `AssignmentContext` which is used by the `ConstraintWithContext` class. The notification methods assigned and unassigned are automatically called by the constraint whenever a variable of the constraint is assigned or unassigned respectively.
  Version:
    IFS 1.3 (Iterative Forward Search)
    Copyright (C) 2014 Tomáš Müller
    muller@unitime.org
    http://muller.unitime.org
    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses.
  Author:
    Tomáš Müller
  See Also:
    `ConstraintWithContext`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `assigned(Assignment<V,T> assignment, T value)` Called when `ConstraintWithContext.assigned(Assignment, long, Value)` is called to update the content of the context.
    `void` | `unassigned(Assignment<V,T> assignment, T value)` Called when `ConstraintWithContext.unassigned(Assignment, long, Value)` is called to update the content of the context.

- - ### Method Detail

    - #### assigned

          void assigned(Assignment<V,T> assignment,
                        T value)

      Called when `ConstraintWithContext.assigned(Assignment, long, Value)` is called to update the content of the context.
      Parameters:
        `assignment` - current assignment (with which this context is associated)
        `value` - assigned value

    - #### unassigned

          void unassigned(Assignment<V,T> assignment,
                          T value)

      Called when `ConstraintWithContext.unassigned(Assignment, long, Value)` is called to update the content of the context.
      Parameters:
        `assignment` - current assignment (with which this context is associated)
        `value` - unassigned value