Class PartitionQueue<Solution_>
java.lang.Object
org.optaplanner.core.impl.partitionedsearch.queue.PartitionQueue<Solution_>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
Iterable<PartitionChangeMove<Solution_>>
public class PartitionQueue<Solution_>
extends Object
implements Iterable<PartitionChangeMove<Solution_>>
This class is thread-safe.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddExceptionThrown(int partIndex, Throwable throwable) This method is thread-safe.voidaddFinish(int partIndex, long partCalculationCount) This method is thread-safe.voidaddMove(int partIndex, PartitionChangeMove<Solution_> move) This method is thread-safe.longiterator()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
PartitionQueue
public PartitionQueue(int partCount)
-
-
Method Details
-
addMove
This method is thread-safe. The previous move(s) for this partIndex (if it hasn't been consumed yet), will be skipped during iteration.- Parameters:
partIndex-0 <= partIndex < partCountmove- never null- See Also:
-
addFinish
public void addFinish(int partIndex, long partCalculationCount) This method is thread-safe. The previous move for this partIndex (that haven't been consumed yet), will still be returned during iteration.- Parameters:
partIndex-0 <= partIndex < partCountpartCalculationCount- at least 0- See Also:
-
addExceptionThrown
This method is thread-safe. The previous move for this partIndex (if it hasn't been consumed yet), will still be returned during iteration before the iteration throws an exception.- Parameters:
partIndex-0 <= partIndex < partCountthrowable- never null- See Also:
-
iterator
-
getPartsCalculationCount
public long getPartsCalculationCount()
-