Package com.chemaxon.clustering.common
Class IDBasedAssignerBuilder
java.lang.Object
com.chemaxon.clustering.common.IDBasedAssignerBuilder
An ID based cluster level assigner builder.
Please note that the following must be satisfied:
- root aligned clusterings:
- 0 level must have assigned to all root clusters
- Child clusters must have assigned no lower level than their respective parents
- Leaves must have assigned no lower level than their parents
- leaves aligned clusterings:
- 0 level must have assigned to all leaves.
- Child clusters must have assigned no greater level than their respective parents
- It is ok to not assign explicitly zero levels for leaves
Checking of the above conditions are not enforced during setup.
Please note that this class is marked with Beta
annotation, so it can be subject of incompatible changes
or removal in later releases.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
getClusterLevel
(int clusterID) Get the current associated level for a cluster.double
getLeafLevel
(int leafID) Get the current associated level for a leaf.boolean
isEmpty()
Check if no level info set.void
setClusterLevel
(int clusterID, double level) Set the level of a specific cluster.void
setLeafLevel
(int leafID, double level) Set the level of a specific leaf node.
-
Constructor Details
-
IDBasedAssignerBuilder
public IDBasedAssignerBuilder()
-
-
Method Details
-
isEmpty
public boolean isEmpty()Check if no level info set.Typical use case is to check if an associated assigner builder has been invoked.
- Returns:
false
when at least onesetClusterLevel(int, double)
orsetLeafLevel(int, double)
invocation occurred.
-
setClusterLevel
public void setClusterLevel(int clusterID, double level) Set the level of a specific cluster.If level information for a specific cluster is already set it will be overwritten. Note that
0
level must be explicitly set for roots when clustering is root aligned.- Parameters:
clusterID
- ID of clusterlevel
- Level to assign
-
getClusterLevel
public double getClusterLevel(int clusterID) Get the current associated level for a cluster.- Parameters:
clusterID
- ID of a cluster- Returns:
- Associated level for the cluster
- Throws:
IllegalArgumentException
- when no level set for the given cluster
-
getLeafLevel
public double getLeafLevel(int leafID) Get the current associated level for a leaf.- Parameters:
leafID
- ID of a leaf- Returns:
- Associated level of the leaf
- Throws:
IllegalArgumentException
- when no level set for the given leaf
-
setLeafLevel
public void setLeafLevel(int leafID, double level) Set the level of a specific leaf node.If level information for a specific leaf is already set it will be overwritten. Note that explicitly setting
0
level of leaves for leaf aligned clusterings is not needed. Mixed setting is also possible.- Parameters:
leafID
- ID of the leaflevel
- Level to assign
-