Interface CyNetworkTableManager


  • public interface CyNetworkTableManager

    Provides access to all network-table relationships. CyTables can be associated with a CyNetwork by being assigned a type and namespace within that CyNetwork. For example, a CyTable that stores CyNode attributes would be of type CyNode.class. You can associate multiple CyTables of a particular type to a CyNetwork as long as each of those CyTables has a different namespace. For instance, to add multiple node tables to a CyNetwork, you would call:

     setTable(network, CyNode.class, "my namespace", nodeTable1);
     setTable(network, CyNode.class, "my other namespace", nodeTable2);
     

    So the triple (CyNetwork, type, namespace) refers to exactly one table at any given time. It's also possible to associate the same CyTable with multiple (CyNetwork, type, namespace) combinations.

    By default, CyNetworks are associated with network, node, and edge tables for each of the following namespaces:

    • CyNetwork.DEFAULT_ATTRS
    • CyNetwork.LOCAL_ATTRS
    • CyNetwork.HIDDEN_ATTRS

    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

      • setTable

        void setTable​(CyNetwork network,
                      Class<? extends CyIdentifiable> type,
                      String namespace,
                      CyTable table)
        Associates the given table to the network using the specified namespace and type.
        Parameters:
        network - the CyNetwork to associate the given table to.
        type - Type of CyIdentifiable associated with the table.
        namespace - the namespace the table should belong to.
        table - the table to associate to the network with the specified namespace and type.
      • getTable

        CyTable getTable​(CyNetwork network,
                         Class<? extends CyIdentifiable> type,
                         String namespace)
        Returns the table with the specified namespace and type from the network.
        Parameters:
        network - the network to check for the table.
        type - Type of CyIdentifiable associated with the table.
        namespace - the namespace the table should belong to.
        Returns:
        the table with the specified namespace and type from the network.
      • getTableType

        Class<? extends CyIdentifiable> getTableType​(CyTable table)
        Returns the type of this table (either CyNetwork.class, CyNode.class, or CyEdge.class. If this table is not registered with the CyNetworkTableManager, returns null;
        Parameters:
        table - the table we're inquiring about
        Returns:
        the type of the table or null if the table is not registered
      • getTableNamespace

        String getTableNamespace​(CyTable table)
        Returns the namespace of this table. If this table is not registered with the CyNetworkTableManager, returns null;
        Parameters:
        table - the table we're inquiring about
        Returns:
        the namespace of the table or null if the table is not registered
      • getNetworkForTable

        CyNetwork getNetworkForTable​(CyTable table)
        Returns the network this table is registered with. If this table is not registered with the CyNetworkTableManager, returns null. In the current implementation this method is iterative and not terribly efficient.
        Parameters:
        table - the table we're inquiring about
        Returns:
        the network this table is associated with, or null
      • removeTable

        void removeTable​(CyNetwork network,
                         Class<? extends CyIdentifiable> type,
                         String namespace)
        Removes the table with the specified namespace and type from the network.
        Parameters:
        network - the network to remove the table from.
        type - Type of CyIdentifiable associated with the table.
        namespace - the namespace the table should belong to.
      • getTables

        Map<String,​CyTable> getTables​(CyNetwork network,
                                            Class<? extends CyIdentifiable> type)
        Returns a read-only map of all of the tables for the specified type from the network. Each table is keyed by its namespace.
        Parameters:
        network - The network to return the tables of.
        type - The type of the tables to return.
        Returns:
        a read-only map of all the tables for the specified type from the network.
      • reset

        void reset()
        Clears all the network-table relationships.
      • getNetworkSet

        Set<CyNetwork> getNetworkSet()
        Returns a read-only set of all networks managed by this instance.
        Returns:
        a read-only set of all networks managed by this instance.
      • removeAllTables

        void removeAllTables​(CyNetwork network)
        Removes all tables associated with the given network.
        Parameters:
        network - the network whose tables should be removed.