Author: slotia
Date: 2012-08-31 16:55:06 -0700 (Fri, 31 Aug 2012)
New Revision: 30309
Modified:
core3/api/trunk/model-api/src/main/java/org/cytoscape/model/CyTableManager.java
Log:
Updated javadocs for CyTableManager
Modified:
core3/api/trunk/model-api/src/main/java/org/cytoscape/model/CyTableManager.java
===================================================================
---
core3/api/trunk/model-api/src/main/java/org/cytoscape/model/CyTableManager.java
2012-08-31 23:12:20 UTC (rev 30308)
+++
core3/api/trunk/model-api/src/main/java/org/cytoscape/model/CyTableManager.java
2012-08-31 23:55:06 UTC (rev 30309)
@@ -32,8 +32,52 @@
/**
- * A singleton object that provides access to the available
- * tables in the system. Should be provided as an OSGi service.
+ * A singleton object for managing registered {@link CyTable}s.
+ *
+ * <p>
+ * When a {@link CyTable} is created through a {@link CyTableFactory},
+ * it exists independently from the rest of Cytoscape.
+ * However, when a {@code CyTable} is registered through the {@code
CyTableManager},
+ * {@code CyTableManager} does the following things for the {@code CyTable}:
+ * <ul>
+ * <li>
+ * It fires the {@link org.cytoscape.model.events.TableAddedEvent}
+ * to inform other parts of Cytoscape that the {@code CyTable} was added
+ * to the {@code CyTableManager}.
+ * </li>
+ * <li>
+ * It also makes the {@code CyTable} available to other parts of
+ * Cytoscape through methods like {@link #getAllTables}.
+ * </li>
+ * <li>
+ * Because registering the {@code CyTable} notifies Cytoscape about
+ * the {@code CyTable}, Cytoscape will ensure that the {@code CyTable}
+ * is saved (see {@link CyTable#setSavePolicy}). If the {@code CyTable}
+ * is not registered with the {@code CyTableManager}, it will not
+ * be saved according to its {@link SavePolicy}.
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * <p>
+ * This interface, unfortunately, uses <i>very</i> confusing method names.
Here is an explanation.
+ * <ul>
+ * <li>
+ * <i>Associated</i> {@code CyTable}s are explicitly mapped to
+ * {@link CyNetwork}, {@link CyNode}s, or {@link CyEdge}s through the
+ * {@link CyNetworkTableManager}.
+ * Associated {@code CyTable}s are obtained through {@link #getLocalTables}.
+ * </li>
+ * <li>
+ * <i>Unassociated</i> {@code CyTable}s are <i>not</i> explicitly mapped to
+ * network objects. Note that columns in an unassociated table can still be
"mapped"
+ * to network objects when an associated table has a virtual column
+ * from an unassociated table.
+ * Unassigned tables are obtained from {@link #getGlobalTables}.
+ * </li>
+ * </ul>
+ * </p>
+ *
* @CyAPI.Api.Interface
*/
public interface CyTableManager {
@@ -75,14 +119,22 @@
/**
* Returns a set of all global tables.
+ * "Global tables" are tables that are not explicitly mapped to
+ * {@link CyNetwork}s, {@link CyNode}s, and {@link CyEdge}s.
+ * through {@link CyNetworkTableManager}.
+ *
* @return All registered global tables
*/
Set<CyTable> getGlobalTables();
/**
- * Returns set of all local tabses for the given data type.
+ * Returns set of all local tables for the given data type.
+ * "Local tables" are tables that are explicitly mapped to {@link
CyNetwork}s,
+ * {@link CyNode}s, and {@link CyEdge}s.
+ * This method has <i>nothing</i> to do with {@link CyNetwork#LOCAL_ATTRS}.
*
- * @param type Type of the graph object, i.e., node, edge or network.
+ * @param type Type of the network object, i.e., {@code
CyNetwork.class},
+ * {@code CyNode.class}, or {@code CyEdge.class}.
*
* @return Set of all registered tables associated with the given data
type.
*/
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.