com.sparsity.dex.algorithms
Class ConnectedComponents

java.lang.Object
  extended by com.sparsity.dex.algorithms.ConnectedComponents
All Implemented Interfaces:
java.io.Closeable

public class ConnectedComponents
extends java.lang.Object
implements java.io.Closeable

ConnectedComponents class.

This class contains the results processed on a Connectivity algorithm.

These results contain information related to the connected components found. We must consider that each connected component has a number in order to identify it. These number identifiers are values from 0 to N-1, where N is the number of different connected components found.

Each execution of any implementation of the Connectivity abstract class generates a ConnectedComponents instance which stores the following data:

(i) The number of connected components found.

(ii) For each node, the connected component identifier where it belongs to.

(iii) For each connected component, the collection of node identifiers contained in it and the number of nodes.

Furthermore, when executing any implementation of the Connectivity, it is possible to indicate whether the results of the execution must be stored persistently using the Connectivity#SetMaterializedAttribute method. In case the results are set to be materialized, users can retrieve this data whenever they want, even if the graph has been closed and opened again, just by creating a new instance of this class.

Author:
Sparsity Technologies http://www.sparsity-technologies.com

Constructor Summary
ConnectedComponents(Session s, java.lang.String materializedattribute)
          Creates a new instance of ConnectedComponents.
 
Method Summary
 void close()
          Closes the ConnectedComponents instance.
 long getConnectedComponent(long idNode)
          Returns the connected component where the given node belongs to.
 long getCount()
          Returns the number of connected components found in the graph.
 Objects getNodes(long idConnectedComponent)
          Returns the collection of nodes contained in the given connected component.
 long getSize(long idConnectedComponent)
          Returns the number of nodes contained in the given connected component.
 boolean isClosed()
          Gets if ConnectedComponents instance has been closed or not.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConnectedComponents

public ConnectedComponents(Session s,
                           java.lang.String materializedattribute)
Creates a new instance of ConnectedComponents.

This constructor method can only be called when a previous execution of any implementation of the Connectivity class has materialized the results in a common attribute type for all the nodes in the graph. For further information about materializing the results processed on any Connectivity execution see the documentation of the Connectivity#SetMaterializedAttribute method.

Parameters:
s - [in] Session to get the graph Graph on which the information will be retrieved just by getting the values contained in the given common attribute type for all the nodes in the graph and processing them.
materializedattribute - [in] The common attribute type for all the nodes in the graph where data will be retrieved in order to process the results related to the connected components found in the graph.
Method Detail

getCount

public long getCount()
Returns the number of connected components found in the graph.

Returns:
The number of connected components found in the graph.

getConnectedComponent

public long getConnectedComponent(long idNode)
Returns the connected component where the given node belongs to.

Parameters:
idNode - [in] The node identifier for which the connected component identifier where it belongs will be returned.
Returns:
The connected component identifier where the given node identifier belongs to.

isClosed

public boolean isClosed()
Gets if ConnectedComponents instance has been closed or not.

Returns:
TRUE if the ConnectedComponents instance has been closed, FALSE otherwise.
See Also:
close()

getSize

public long getSize(long idConnectedComponent)
Returns the number of nodes contained in the given connected component.

Parameters:
idConnectedComponent - The connected component for which the number of nodes contained in it will be returned.
Returns:
The number of nodes contained in the given connected component.

getNodes

public Objects getNodes(long idConnectedComponent)
Returns the collection of nodes contained in the given connected component.

Parameters:
idConnectedComponent - The connected component for which the collection of nodes contained in it will be returned.
Returns:
The collection of node identifiers contained in the given connected component.

close

public void close()
Closes the ConnectedComponents instance.

It must be called to ensure the integrity of all data.

Specified by:
close in interface java.io.Closeable