public class ItemTreeBuilder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
ItemTreeBuilder.IItemTreeBuilderCallback
Interface used to allow interrupting slow builds of encapsulation trees.
|
Modifier and Type | Field and Description |
---|---|
private static ItemTreeBuilder.IItemTreeBuilderCallback |
DEFAULT_CALLBACK |
Constructor and Description |
---|
ItemTreeBuilder() |
Modifier and Type | Method and Description |
---|---|
private static void |
addTimeSplitNode(TreeNode<IItem> node,
IItem item,
boolean itemHasDuration,
IQuantity itemStartTime,
IQuantity itemEndTime,
IMCThread itemThread,
ItemTreeBuilder.IItemTreeBuilderCallback callback,
boolean ignoreThread) |
static ITreeNode<IItem> |
buildEncapsulationTree(IItemCollection items,
boolean allowInstants)
Builds a tree where events that wrap other events, time wise, are higher up in the hierarchy.
|
static ITreeNode<IItem> |
buildEncapsulationTree(IItemCollection items,
boolean allowInstants,
boolean ignoreThread)
Builds a tree where events that wrap other events, time wise, are higher up in the hierarchy.
|
static ITreeNode<IItem> |
buildEncapsulationTree(IItemCollection items,
boolean allowInstants,
boolean ignoreThread,
ItemTreeBuilder.IItemTreeBuilderCallback callback)
Builds a tree where events that wrap other events, time wise, are higher up in the hierarchy.
|
private static boolean |
enclosesTreeItem(boolean encloserHasDuration,
IQuantity encloserStartTime,
IQuantity encloserEndTime,
IMCThread encloserThread,
TreeNode<IItem> enclosee,
boolean ignoreThread) |
private static boolean |
treeItemEncloses(TreeNode<IItem> encloser,
IQuantity encloseeStartTime,
IQuantity encloseeEndTime,
IMCThread encloseeThread,
boolean ignoreThread) |
private static ItemTreeBuilder.IItemTreeBuilderCallback DEFAULT_CALLBACK
public static ITreeNode<IItem> buildEncapsulationTree(IItemCollection items, boolean allowInstants)
items
- the items to build a tree fromallowInstants
- true
to allow instant events in the resulting treepublic static ITreeNode<IItem> buildEncapsulationTree(IItemCollection items, boolean allowInstants, boolean ignoreThread)
items
- the items to build a tree fromallowInstants
- true
to allow instant events in the resulting treeignoreThread
- true
to make the algorithm not care about event thread, can be used for VM
level events. It's up to the caller to make sure this is safe to do.public static ITreeNode<IItem> buildEncapsulationTree(IItemCollection items, boolean allowInstants, boolean ignoreThread, ItemTreeBuilder.IItemTreeBuilderCallback callback)
items
- the items to build a tree fromallowInstants
- true
to allow instant events in the resulting treeignoreThread
- true
to make the algorithm not care about event thread, can be used for VM
level events. It's up to the caller to make sure this is safe to do.callback
- callback used to determine whether or not to continue building the encapsulation
treeprivate static void addTimeSplitNode(TreeNode<IItem> node, IItem item, boolean itemHasDuration, IQuantity itemStartTime, IQuantity itemEndTime, IMCThread itemThread, ItemTreeBuilder.IItemTreeBuilderCallback callback, boolean ignoreThread)
private static boolean enclosesTreeItem(boolean encloserHasDuration, IQuantity encloserStartTime, IQuantity encloserEndTime, IMCThread encloserThread, TreeNode<IItem> enclosee, boolean ignoreThread)