FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
org.jacop.constraints.ConstraintCloneableInterface< C extends DecomposedConstraint<? extends Constraint > > Interface Template Reference

A constraint is clonable if a state-less copy of it can be created into a target store. More...

Inheritance diagram for org.jacop.constraints.ConstraintCloneableInterface< C extends DecomposedConstraint<? extends Constraint > >:

Public Member Functions

abstract C cloneInto (StoreCloneable targetStore) throws CloneNotSupportedException, FailException
 Creates a new constraint that is a (state-less) clone of this one, but expressed on the variables with the same names found in the input store.

Detailed Description

A constraint is clonable if a state-less copy of it can be created into a target store.

Author
Thomas Leaute
Parameters
<C>the class of the constraint

Member Function Documentation

◆ cloneInto()

abstract C org.jacop.constraints.ConstraintCloneableInterface< C extends DecomposedConstraint<? extends Constraint > >.cloneInto ( StoreCloneable targetStore) throws CloneNotSupportedException, FailException
abstract

Creates a new constraint that is a (state-less) clone of this one, but expressed on the variables with the same names found in the input store.

Note
The constraint is not automatically imposed into the input target store.
If a variable in this constraint's arguments is not found in the target store, it is automatically created there.
Parameters
targetStorethe store into which this constraint should be cloned
Returns
a state-less clone of this constraint, expressed over variables of the input store, or null if the constraint would be trivially consistent
Exceptions
CloneNotSupportedExceptionif this constraint depends on underlying constraints that are themselves not cloneable
FailExceptionif a variable with an empty domain is encountered

Implemented in frodo2.solutionSpaces.JaCoP.ExtensionalSupportHypercube, frodo2.solutionSpaces.JaCoP.Predicate, org.jacop.constraints.binpacking.BinpackingCloneable, org.jacop.constraints.cumulative.CumulativeBasicCloneable, org.jacop.constraints.cumulative.CumulativeCloneable, org.jacop.constraints.cumulative.CumulativeOptionalCloneable, org.jacop.constraints.cumulative.CumulativePrimaryCloneable, org.jacop.constraints.cumulative.CumulativeUnaryCloneable, org.jacop.constraints.cumulative.CumulativeUnaryOptionalCloneable, org.jacop.constraints.diffn.DiffnCloneable, org.jacop.constraints.diffn.DiffnDecomposedCloneable, org.jacop.constraints.diffn.NooverlapCloneable, org.jacop.constraints.geost.GeostCloneable, org.jacop.constraints.knapsack.KnapsackCloneable, org.jacop.constraints.netflow.ArithmeticCloneable, org.jacop.constraints.netflow.NetworkFlowCloneable, org.jacop.constraints.regular.RegularCloneable, org.jacop.constraints.table.SimpleTableCloneable, and org.jacop.constraints.table.TableCloneable.

Referenced by org.jacop.constraints.AndCloneable.cloneInto(), org.jacop.constraints.ImpliesCloneable.cloneInto(), org.jacop.constraints.NotCloneable.cloneInto(), org.jacop.constraints.OrCloneable.cloneInto(), org.jacop.constraints.ReifiedCloneable.cloneInto(), and org.jacop.constraints.XorCloneable.cloneInto().


The documentation for this interface was generated from the following file: