Package com.dna.jopt.util.nodesplitter
Class NodeSplitter
java.lang.Object
com.dna.jopt.util.nodesplitter.NodeSplitter
The Class NodeSplitter.
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BiFunction<INode,Integer, String> static final doublestatic final Duration - 
Method Summary
Modifier and TypeMethodDescriptionstatic Node2NodesMultiDayRelationattachMultiDayRelation(List<INode> nodes) Attach multi day relation.resourcesToResourceMap(List<IResource> ress) splitNodeByConstantMaxDuration(INode srcNode, Map<String, IResource> map, BiFunction<INode, Integer, String> idGenerator, Duration maxIndividualDuration) Split node by constant max duration.splitNodeByConstantMaxNumber(INode srcNode, Map<String, IResource> map, BiFunction<INode, Integer, String> idGenerator, int numElements) splitNodeByFlexibleDuration(INode srcNode, Map<String, IResource> map, Duration maxIndividualDuration) Split node by flexible duration.splitNodeByFlexibleDuration(INode srcNode, Map<String, IResource> map, Duration maxIndividualDuration, Duration minIndividualDuration) splitNodeByFlexibleDuration(INode srcNode, Map<String, IResource> map, BiFunction<INode, Integer, String> idGenerator, Duration maxIndividualDuration, Duration minIndividualDuration, double splitRatio)  
- 
Field Details
- 
DEFAULT_INDIVIDUAL_SPLIT_DURATION_RATIO
public static final double DEFAULT_INDIVIDUAL_SPLIT_DURATION_RATIO- See Also:
 
 - 
DEFAULT_MIN_INDIVIDUAL_SPLIT_NODE_DURATION
 - 
DEFAULT_ID_GENERATOR
 
 - 
 - 
Method Details
- 
splitNodeByConstantMaxDuration
public static List<INode> splitNodeByConstantMaxDuration(INode srcNode, Map<String, IResource> map, BiFunction<INode, Integer, String> idGenerator, Duration maxIndividualDuration) Split node by constant max duration.- Parameters:
 srcNode- the src nodemap- the mapidGenerator- the id generatormaxIndividualDuration- the max individual duration- Returns:
 - the list
 
 - 
splitNodeByConstantMaxNumber
 - 
splitNodeByFlexibleDuration
public static List<INode> splitNodeByFlexibleDuration(INode srcNode, Map<String, IResource> map, Duration maxIndividualDuration) Split node by flexible duration.- Parameters:
 srcNode- the src nodemap- the mapmaxIndividualDuration- the max individual duration- Returns:
 - the list
 
 - 
splitNodeByFlexibleDuration
 - 
splitNodeByFlexibleDuration
 - 
optiToResourceMap
 - 
resourcesToResourceMap
 - 
attachMultiDayRelation
Attach multi day relation.- Parameters:
 nodes- the nodes- Returns:
 - the node 2 nodes multi day relation
 
 
 -