Package com.macrofocus.treeplot
Class DefaultTreePlotModel<N,Row,Column,Color,Font>
- java.lang.Object
-
- com.macrofocus.treeplot.DefaultTreePlotModel<N,Row,Column,Color,Font>
-
- All Implemented Interfaces:
TreePlotModel<N,Row,Column,Color,Font>
- Direct Known Subclasses:
SwingTreePlotModel
public class DefaultTreePlotModel<N,Row,Column,Color,Font> extends java.lang.Object implements TreePlotModel<N,Row,Column,Color,Font>
-
-
Field Summary
Fields Modifier and Type Field Description protected MutableSingleSelection<TreeMapField<N,Column>>xVariableprotected MutableSingleSelection<TreeMapField<N,Column>>yVariable
-
Constructor Summary
Constructors Constructor Description DefaultTreePlotModel(TreeMapModel<N,Row,Column,Color,Font> tmm, com.macrofocus.igraphics.CPColorFactory<Color> colorFactory, com.macrofocus.igraphics.CPFontFactory<Font> fontFactory, com.macrofocus.crossplatform.CPHelper helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Iterable<N>depthFirstIterator(N parent)Creates and returns an iterable that traverses the subhierarchy rooted at the give node in depth-first order.java.lang.ObjectgetAggregateValue(N node, TreeMapField field)Returns the aggregated value of a variable for a given node.java.awt.geom.GeneralPathgetCH(N node, TreeMapField xVariable, TreeMapField yVariable)java.lang.Iterable<N>getChildren(N parent)Returns an iterator of the children of the given node.com.macrofocus.igraphics.CPColor<Color>getColor(N node)Gets the color of the given node.java.lang.Class<?>getColumnClass(Column columnIndex)Returns the most specific superclass for all the cell values in the column.intgetColumnCount()Returns the number of columns in the model.java.lang.StringgetColumnName(Column columnIndex)Returns the name of the column atcolumnIndex.NgetCurrentRoot()Gets the currently selected root node from which the treemap should be displayed.MutableFilter<N>getFilter()Obtains the model used for filtering nodes in the treemap.Selection<N>getHighlighting()Obtains the model used to highlight nodes in the treemap.doublegetMaximumSize()Corresponds to area in map.doublegetMaximumSize(N parent)Corresponds to area in map.java.awt.geom.Ellipse2DgetMEC(N node, TreeMapField xVariable, TreeMapField yVariable)java.lang.DoublegetNumericMax(TreeMapField<N,Column> columnIndex)Gets the maximum value contained in the specified column.java.lang.DoublegetNumericMax(TreeMapField columnIndex, N parent)Gets the maximum value contained in the specified column.java.lang.DoublegetNumericMin(TreeMapField<N,Column> columnIndex)Gets the minimum value contained in the specified column.java.lang.DoublegetNumericMin(TreeMapField columnIndex, N parent)Gets the minimum value contained in the specified column.NgetParent(N node)Gets the parent node of the given node.MutableSingleSelection<N>getProbing()Obtains the model used for probing (aka mouse over).NgetRoot()Returns the root node of the treemap.MutableFilter<N>getSearch()Obtains the model used to carry out search in the treemap.MutableSelection<N>getSelection()Obtains the model used for selecting nodes in the treemap.TreePlotSettingsgetSettings()Gets the settings currently selected.doublegetSize(N node)Corresponds to area in map.java.lang.StringgetStringValue(N node, TreeMapField field)Returns the string value for the cell atcolumnIndexand ofnode.TreeMapField<N,Column>getTreeMapField(int columnIndex)Gets the field corresponding to the specified column index.TreeMapFieldgetTreeMapField(java.lang.String columnName)Gets the field corresponding to the specified column name.protected java.lang.Iterable<TreeMapField<N,Column>>getTreeMapFields(boolean includeNone)TreeMapModel<N,Row,Column,Color,Font>getTreeMapModel()java.lang.ObjectgetValueAt(N node, Column columnIndex)Returns the value for the cell atcolumnIndexand ofnode.java.lang.Iterable<TreeMapField<N,Column>>getXTreeMapFields()MutableSingleSelection<TreeMapField<N,Column>>getXVariable()java.lang.Iterable<TreeMapField<N,Column>>getYTreeMapFields()MutableSingleSelection<TreeMapField<N,Column>>getYVariable()booleanhasNoChildren(N node)Tells whether the given node is a leaf node or not.booleanisLeaf(N node)booleanisNumericType(TreeMapField<N,Column> field)booleanisRoot(N node)Tells whether the given node is the root node or not.booleanisTemporalType(TreeMapField<N,Column> field)booleanisVisualType(TreeMapField<N,Column> field)voidsetCurrentRoot(N currentRoot)Sets the currently selected root node from which the treemap should be displayed.
-
-
-
Field Detail
-
xVariable
protected final MutableSingleSelection<TreeMapField<N,Column>> xVariable
-
yVariable
protected final MutableSingleSelection<TreeMapField<N,Column>> yVariable
-
-
Method Detail
-
isNumericType
public boolean isNumericType(TreeMapField<N,Column> field)
- Specified by:
isNumericTypein interfaceTreePlotModel<N,Row,Column,Color,Font>
-
isTemporalType
public boolean isTemporalType(TreeMapField<N,Column> field)
- Specified by:
isTemporalTypein interfaceTreePlotModel<N,Row,Column,Color,Font>
-
isVisualType
public boolean isVisualType(TreeMapField<N,Column> field)
- Specified by:
isVisualTypein interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getSize
public double getSize(N node)
Corresponds to area in map.
-
getMaximumSize
public double getMaximumSize()
Corresponds to area in map.- Specified by:
getMaximumSizein interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the maximum area
-
getMaximumSize
public double getMaximumSize(N parent)
Corresponds to area in map.- Specified by:
getMaximumSizein interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the maximum area
-
getTreeMapModel
public TreeMapModel<N,Row,Column,Color,Font> getTreeMapModel()
- Specified by:
getTreeMapModelin interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getXVariable
public MutableSingleSelection<TreeMapField<N,Column>> getXVariable()
- Specified by:
getXVariablein interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getXTreeMapFields
public java.lang.Iterable<TreeMapField<N,Column>> getXTreeMapFields()
- Specified by:
getXTreeMapFieldsin interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getYVariable
public MutableSingleSelection<TreeMapField<N,Column>> getYVariable()
- Specified by:
getYVariablein interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getYTreeMapFields
public java.lang.Iterable<TreeMapField<N,Column>> getYTreeMapFields()
- Specified by:
getYTreeMapFieldsin interfaceTreePlotModel<N,Row,Column,Color,Font>
-
getTreeMapFields
protected java.lang.Iterable<TreeMapField<N,Column>> getTreeMapFields(boolean includeNone)
-
getRoot
public N getRoot()
Returns the root node of the treemap.
-
getCurrentRoot
public N getCurrentRoot()
Gets the currently selected root node from which the treemap should be displayed.- Specified by:
getCurrentRootin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the currently selected root node.
-
setCurrentRoot
public void setCurrentRoot(N currentRoot)
Sets the currently selected root node from which the treemap should be displayed.- Specified by:
setCurrentRootin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
currentRoot- the root node to use for display.
-
getProbing
public MutableSingleSelection<N> getProbing()
Obtains the model used for probing (aka mouse over).- Specified by:
getProbingin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the model used for probing.
-
getHighlighting
public Selection<N> getHighlighting()
Obtains the model used to highlight nodes in the treemap.- Specified by:
getHighlightingin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the model used for highlighting.
-
getSelection
public MutableSelection<N> getSelection()
Obtains the model used for selecting nodes in the treemap.- Specified by:
getSelectionin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the model used for selection.
-
getFilter
public MutableFilter<N> getFilter()
Obtains the model used for filtering nodes in the treemap.
-
getSearch
public MutableFilter<N> getSearch()
Obtains the model used to carry out search in the treemap.
-
getSettings
public TreePlotSettings getSettings()
Gets the settings currently selected.- Specified by:
getSettingsin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the settings.
-
getNumericMax
public java.lang.Double getNumericMax(TreeMapField<N,Column> columnIndex)
Gets the maximum value contained in the specified column.- Specified by:
getNumericMaxin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column.- Returns:
- the maximum value.
-
getNumericMin
public java.lang.Double getNumericMin(TreeMapField<N,Column> columnIndex)
Gets the minimum value contained in the specified column.- Specified by:
getNumericMinin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column.- Returns:
- the minimum value.
-
getNumericMax
public java.lang.Double getNumericMax(TreeMapField columnIndex, N parent)
Description copied from interface:TreePlotModelGets the maximum value contained in the specified column.- Specified by:
getNumericMaxin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column.- Returns:
- the maximum value.
-
getNumericMin
public java.lang.Double getNumericMin(TreeMapField columnIndex, N parent)
Description copied from interface:TreePlotModelGets the minimum value contained in the specified column.- Specified by:
getNumericMinin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column.- Returns:
- the minimum value.
-
depthFirstIterator
public java.lang.Iterable<N> depthFirstIterator(N parent)
Creates and returns an iterable that traverses the subhierarchy rooted at the give node in depth-first order. The first node returned by the iterator's next() method is the leftmost leaf.- Specified by:
depthFirstIteratorin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
parent- the root of the hierarchy to traverse- Returns:
- an iterable that traverses the subtree rooted at this node in depth-first order.
-
getTreeMapField
public TreeMapField<N,Column> getTreeMapField(int columnIndex)
Gets the field corresponding to the specified column index.- Specified by:
getTreeMapFieldin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column.- Returns:
- the field.
-
getTreeMapField
public TreeMapField getTreeMapField(java.lang.String columnName)
Gets the field corresponding to the specified column name.- Specified by:
getTreeMapFieldin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnName- the name of the column.- Returns:
- the field.
-
hasNoChildren
public boolean hasNoChildren(N node)
Description copied from interface:TreePlotModelTells whether the given node is a leaf node or not.- Specified by:
hasNoChildrenin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
node- the node- Returns:
- true if it is a leaf node, false otherwise.
-
isLeaf
public boolean isLeaf(N node)
-
getColumnName
public java.lang.String getColumnName(Column columnIndex)
Returns the name of the column atcolumnIndex. Note: this name does not need to be unique; two columns in a table can have the same name.- Specified by:
getColumnNamein interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column- Returns:
- the name of the column
-
getValueAt
public java.lang.Object getValueAt(N node, Column columnIndex)
Returns the value for the cell atcolumnIndexand ofnode.- Specified by:
getValueAtin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
node- the node whose value is to be queriedcolumnIndex- the column whose value is to be queried- Returns:
- the value Object at the specified cell
-
getAggregateValue
public java.lang.Object getAggregateValue(N node, TreeMapField field)
Returns the aggregated value of a variable for a given node.- Specified by:
getAggregateValuein interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
node- the node whose value is to be queriedfield- the field whose value is to be queried- Returns:
- the value Object at the specified cell
-
getChildren
public java.lang.Iterable<N> getChildren(N parent)
Returns an iterator of the children of the given node.- Specified by:
getChildrenin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
parent- the parent node- Returns:
- the children
-
getColor
public com.macrofocus.igraphics.CPColor<Color> getColor(N node)
Gets the color of the given node.
-
getStringValue
public java.lang.String getStringValue(N node, TreeMapField field)
Returns the string value for the cell atcolumnIndexand ofnode.- Specified by:
getStringValuein interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
node- the node whose value is to be queriedfield- the field whose value is to be queried- Returns:
- the value Object at the specified cell
-
isRoot
public boolean isRoot(N node)
Tells whether the given node is the root node or not.
-
getColumnCount
public int getColumnCount()
Returns the number of columns in the model.- Specified by:
getColumnCountin interfaceTreePlotModel<N,Row,Column,Color,Font>- Returns:
- the number of columns in the model
-
getColumnClass
public java.lang.Class<?> getColumnClass(Column columnIndex)
Returns the most specific superclass for all the cell values in the column.- Specified by:
getColumnClassin interfaceTreePlotModel<N,Row,Column,Color,Font>- Parameters:
columnIndex- the index of the column- Returns:
- the common ancestor class of the object values in the model.
-
getMEC
public java.awt.geom.Ellipse2D getMEC(N node, TreeMapField xVariable, TreeMapField yVariable)
-
getCH
public java.awt.geom.GeneralPath getCH(N node, TreeMapField xVariable, TreeMapField yVariable)
-
-