Interface CyTableManager


  • public interface CyTableManager
    A singleton object for managing registered CyTables.

    When a CyTable is created through a CyTableFactory, it exists independently from the rest of Cytoscape. However, when a CyTable is registered through the CyTableManager, CyTableManager does the following things for the CyTable:

    • It fires the TableAddedEvent to inform other parts of Cytoscape that the CyTable was added to the CyTableManager.
    • It also makes the CyTable available to other parts of Cytoscape through methods like getAllTables(boolean).
    • Because registering the CyTable notifies Cytoscape about the CyTable, Cytoscape will ensure that the CyTable is saved (see CyTable.setSavePolicy(org.cytoscape.model.SavePolicy)). If the CyTable is not registered with the CyTableManager, it will not be saved according to its SavePolicy.

    This interface, unfortunately, uses very confusing method names. Here is an explanation.


    Module: model-api

    To use this in your app, include the following dependency in your POM:

    <dependency>
        <groupId>org.cytoscape</groupId>
        <artifactId>model-api</artifactId>
    </dependency>

    Cytoscape Backwards Compatibility (API Interface): We expect that this interface will be used but not implemented by developers using this interface. As such, we reserve the right to add methods to the interface as part of minor version upgrades. We will not remove methods for any changes other than major version upgrades.
    • Method Detail

      • getAllTables

        Set<CyTable> getAllTables​(boolean includePrivate)
        Returns a Set of all tables with the specified visibility.
        Parameters:
        includePrivate - Whether to include private CyTables in the list (i.e. all possible CyTables) or not.
        Returns:
        A Set containing CyTable SUIDs either including private CyTables (i.e. meaning all possible CyTables) or just public CyTables.
      • addTable

        void addTable​(CyTable table)
        Registers a new table with the manager and fires a TableAddedEvent event.
        Parameters:
        table - a non-null CyTable that will be added to the manager
      • getTable

        CyTable getTable​(long suid)
        Returns the table with the specified SUID.
        Parameters:
        suid - The SUID identifying the CyTable.
        Returns:
        The CyTable identified by the suid. Will return null if a CyTable doesn't exist for the specified SUID.
      • deleteTable

        void deleteTable​(long suid)
        Deletes a mutable table.
        Parameters:
        suid - the SUID identifying the CyTable to be deleted
        Throws:
        IllegalArgumentException - if the table that we requested to be deleted is immutable or if any of its columns are virtual columns in other tables
      • reset

        void reset()
        Releases all currently held references and resources.
      • getLocalTables

        Set<CyTable> getLocalTables​(Class<? extends CyIdentifiable> type)
        Returns set of all local tables for the given data type. "Local tables" are tables that are explicitly mapped to CyNetworks, CyNodes, and CyEdges. This method has nothing to do with CyNetwork.LOCAL_ATTRS.
        Parameters:
        type - Type of the network object, i.e., CyNetwork.class, CyNode.class, or CyEdge.class.
        Returns:
        Set of all registered tables associated with the given data type.