Record Class NodeNetwork
java.lang.Object
java.lang.Record
ai.timefold.solver.core.impl.bavet.NodeNetwork
- Record Components:
declaredClassToNodeMap- starting nodes, one for each class used in the constraints; root nodes, layer index 0.layeredNodes- nodes grouped first by their layer, then by their index within the layer; propagation needs to happen in this order.
public record NodeNetwork(Map<Class<?>,List<AbstractForEachUniNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes)
extends Record
Represents Bavet's network of nodes, specific to a particular session.
Nodes only used by disabled constraints have already been removed.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNodeNetwork(Map<Class<?>, List<AbstractForEachUniNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes) Creates an instance of aNodeNetworkrecord class. -
Method Summary
Modifier and TypeMethodDescriptionMap<Class<?>,List<AbstractForEachUniNode<?>>> Returns the value of thedeclaredClassToNodeMaprecord component.booleanIndicates whether some other object is "equal to" this one.intgetForEachNodes(Class<?> factClass) inthashCode()Returns a hash code value for this object.intPropagator[][]Returns the value of thelayeredNodesrecord component.voidsettle()toString()Returns a string representation of this record class.
-
Field Details
-
EMPTY
-
-
Constructor Details
-
NodeNetwork
public NodeNetwork(Map<Class<?>, List<AbstractForEachUniNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes) Creates an instance of aNodeNetworkrecord class.- Parameters:
declaredClassToNodeMap- the value for thedeclaredClassToNodeMaprecord componentlayeredNodes- the value for thelayeredNodesrecord component
-
-
Method Details
-
forEachNodeCount
public int forEachNodeCount() -
layerCount
public int layerCount() -
getForEachNodes
-
settle
public void settle() -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
hashCode
public int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
declaredClassToNodeMap
Returns the value of thedeclaredClassToNodeMaprecord component.- Returns:
- the value of the
declaredClassToNodeMaprecord component
-
layeredNodes
Returns the value of thelayeredNodesrecord component.- Returns:
- the value of the
layeredNodesrecord component
-