# Package com.dlsc.flexgantt.model.scheduling

Contains supporting classes for basic scheduling operations and constraint resolutions.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IConstraint<T,S extends IGranularity> | A constraint is a specialization of a generic relationship between two timeline objects.
  IModelValidator | A model validator is used to verify whether any relationships or constraints inside a given Gantt chart model have been violated.
  IResolution<T extends IGranularity<?>> | A resolution if a class that knows how to fix a violated constraint.
  IResolutionProvider | A resolution provider returns a list of available resolutions for a given problem / broken constraint.

- Class Summary
  Class | Description
  --- | ---
  AbstractConstraint<T,S extends IGranularity> | An abstract constraint superclass, which can be used by both built-in time granularities `SimpleGranularity` and `TimeGranularity`.
  AbstractResolution<T extends IGranularity<?>> | An abstract superclass for resolutions.
  ConstraintViolationMessage | A specialization of `TimelineObjectPathMessage`, which takes a constraint and its violation as input.
  ConstraintViolationMessageComparator | Sorts constraint violation messages based on the rows where the source timeline objects of the two violations are located.
  DefaultModelValidator | A model validator is used to verify whether any relationships or constraints inside a given Gantt chart model have been violated.
  DefaultResolutionProvider | A default implementation of a resolution provider, which returns the most common resolutions that are available for fixing a violated constraint.
  DefaultTimeGranularityFixBufferResolution | A simple resolution for correcting the buffer between two related timeline objects.
  SimpleGranularityConstraint<T> | A constraint that can be used when the `SimpleGranularity` type is used in the dateline of the Gantt chart.
  TimeGranularityConstraint<T> | A constraint that can be used when the `TimeGranularity` type is used in the dateline of the Gantt chart.
  Violation | A violation object contains the most basic information about a constraint violation.

- Enum Summary
  Enum | Description
  --- | ---
  BufferType | The type of the buffer between two timeline objecs.
  ConstraintType | Constraints can be hard or soft constraints.
  ViolationCode | The violation code provides more details regarding the type of violation that the model validator encountered when checking the constraint.

## Package com.dlsc.flexgantt.model.scheduling Description

Contains supporting classes for basic scheduling operations and constraint resolutions.

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.