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.
@NullMarked
public record NodeNetwork(Map<Class<?>,List<BavetRootNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes, @Nullable InnerConstraintProfiler constraintProfiler)
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<BavetRootNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes, @Nullable InnerConstraintProfiler constraintProfiler) Creates an instance of aNodeNetworkrecord class. -
Method Summary
Modifier and TypeMethodDescription@Nullable InnerConstraintProfilerReturns the value of theconstraintProfilerrecord component.Map<Class<?>,List<BavetRootNode<?>>> Returns the value of thedeclaredClassToNodeMaprecord component.booleanIndicates whether some other object is "equal to" this one.intStream<BavetRootNode<?>>Stream<BavetRootNode<?>>getRootNodesAcceptingType(Class<?> factClass) inthashCode()Returns a hash code value for this object.intPropagator[][]Returns the value of thelayeredNodesrecord component.voidsettle()voidtoString()Returns a string representation of this record class.
-
Field Details
-
EMPTY
-
-
Constructor Details
-
NodeNetwork
public NodeNetwork(Map<Class<?>, List<BavetRootNode<?>>> declaredClassToNodeMap, Propagator[][] layeredNodes, @Nullable InnerConstraintProfiler constraintProfiler) Creates an instance of aNodeNetworkrecord class.- Parameters:
declaredClassToNodeMap- the value for thedeclaredClassToNodeMaprecord componentlayeredNodes- the value for thelayeredNodesrecord componentconstraintProfiler- the value for theconstraintProfilerrecord component
-
-
Method Details
-
forEachNodeCount
public int forEachNodeCount() -
layerCount
public int layerCount() -
getRootNodes
-
getRootNodesAcceptingType
-
settle
public void settle() -
summarizeProfileIfPresent
public void summarizeProfileIfPresent() -
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
-
constraintProfiler
Returns the value of theconstraintProfilerrecord component.- Returns:
- the value of the
constraintProfilerrecord component
-