Package org.abego.treelayout.util
Class DefaultConfiguration<TreeNode>
- java.lang.Object
-
- org.abego.treelayout.util.DefaultConfiguration<TreeNode>
-
- Type Parameters:
TreeNode
- Type of elements used as nodes in the tree
- All Implemented Interfaces:
Configuration<TreeNode>
public class DefaultConfiguration<TreeNode> extends java.lang.Object implements Configuration<TreeNode>
Specify aConfiguration
through configurable parameters, or falling back to some frequently used defaults.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.abego.treelayout.Configuration
Configuration.AlignmentInLevel, Configuration.Location
-
-
Field Summary
Fields Modifier and Type Field Description private Configuration.AlignmentInLevel
alignmentInLevel
private double
gapBetweenLevels
private double
gapBetweenNodes
private Configuration.Location
location
-
Constructor Summary
Constructors Constructor Description DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes)
Convenience constructor, using a default for the rootLocation and the alignmentInLevel.DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes, Configuration.Location location)
Convenience constructor, using a default for the alignmentInLevel.DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes, Configuration.Location location, Configuration.AlignmentInLevel alignmentInLevel)
Specifies the constants to be used for this Configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configuration.AlignmentInLevel
getAlignmentInLevel()
Returns the alignment of "smaller" nodes within a level.double
getGapBetweenLevels(int nextLevel)
Returns the size of the gap between subsequent levels.double
getGapBetweenNodes(TreeNode node1, TreeNode node2)
Returns the size of the minimal gap of nodes within a level.Configuration.Location
getRootLocation()
Returns the position of the root node in the diagram.
-
-
-
Field Detail
-
gapBetweenLevels
private final double gapBetweenLevels
-
gapBetweenNodes
private final double gapBetweenNodes
-
location
private final Configuration.Location location
-
alignmentInLevel
private Configuration.AlignmentInLevel alignmentInLevel
-
-
Constructor Detail
-
DefaultConfiguration
public DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes, Configuration.Location location, Configuration.AlignmentInLevel alignmentInLevel)
Specifies the constants to be used for this Configuration.
-
DefaultConfiguration
public DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes, Configuration.Location location)
Convenience constructor, using a default for the alignmentInLevel.- Parameters:
gapBetweenLevels
-gapBetweenNodes
-location
-
-
DefaultConfiguration
public DefaultConfiguration(double gapBetweenLevels, double gapBetweenNodes)
Convenience constructor, using a default for the rootLocation and the alignmentInLevel.- Parameters:
gapBetweenLevels
-gapBetweenNodes
-
-
-
Method Detail
-
getGapBetweenLevels
public double getGapBetweenLevels(int nextLevel)
Description copied from interface:Configuration
Returns the size of the gap between subsequent levels.- Specified by:
getGapBetweenLevels
in interfaceConfiguration<TreeNode>
- Parameters:
nextLevel
- [nextLevel > 0]- Returns:
- the size of the gap between level (nextLevel-1) and nextLevel [result >= 0]
-
getGapBetweenNodes
public double getGapBetweenNodes(TreeNode node1, TreeNode node2)
Description copied from interface:Configuration
Returns the size of the minimal gap of nodes within a level.In the layout there will be a gap of at least the returned size between both given nodes.
node1 and node2 are at the same level and are placed next to each other.
- Specified by:
getGapBetweenNodes
in interfaceConfiguration<TreeNode>
- Parameters:
node1
-node2
-- Returns:
- the minimal size of the gap between node1 and node2 [result >= 0]
-
getRootLocation
public Configuration.Location getRootLocation()
Description copied from interface:Configuration
Returns the position of the root node in the diagram.By default the root of the tree is located at the top of the diagram. However one may also put it at the left, right or bottom of the diagram.
Possible Root Positions Top (Default) Left Right Bottom - Specified by:
getRootLocation
in interfaceConfiguration<TreeNode>
- Returns:
- the position of the root node in the diagram
-
getAlignmentInLevel
public Configuration.AlignmentInLevel getAlignmentInLevel()
Description copied from interface:Configuration
Returns the alignment of "smaller" nodes within a level.By default all nodes of one level are centered in the level. However one may also align them "towards the root" or "away from the root". When the root is located at the top this means the nodes are aligned "to the top of the level" or "to the bottom of the level".
Alignment in level when root is at the top Center (Default) TowardsRoot ("top of level") AwayFromRoot ("bottom of level") Alignment in level when root is at the left:
Table: Possible Alignments of Nodes (when root at left side) Center (Default) TowardsRoot ("left of level") AwayFromRoot
("right of level")Of cause the alignment also works when the root is at the bottom or at the right side.
- Specified by:
getAlignmentInLevel
in interfaceConfiguration<TreeNode>
- Returns:
- the alignment of "smaller" nodes within a level
-
-