Class PartitionQueue<Solution_>
java.lang.Object
org.optaplanner.core.impl.partitionedsearch.queue.PartitionQueue<Solution_>
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotation
- All Implemented Interfaces:
Iterable<PartitionChangeMove<Solution_>>
public class PartitionQueue<Solution_>
extends Object
implements Iterable<PartitionChangeMove<Solution_>>
This class is thread-safe.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addExceptionThrown
(int partIndex, Throwable throwable) This method is thread-safe.void
addFinish
(int partIndex, long partCalculationCount) This method is thread-safe.void
addMove
(int partIndex, PartitionChangeMove<Solution_> move) This method is thread-safe.long
iterator()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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 < partCount
move
- 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 < partCount
partCalculationCount
- 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 < partCount
throwable
- never null- See Also:
-
iterator
-
getPartsCalculationCount
public long getPartsCalculationCount()
-