Size: 2740
Comment:
|
Size: 3624
Comment: CyAttributes is now open for public comment.
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
'''This API is officially open for public comment until __Thursday, October 13, 2005__. After that time, we will take into account all comments, generate a revised API, and the Cytostaff group will vote to accept/reject {{{CyAttributes}}} into the core.''' |
|
Line 21: | Line 23: |
The following represents Version 0.2 notes, as agreed by Nerius, Iliana and Ethan: |
|
Line 22: | Line 26: |
* {{{CyData}}} is now called {{{MultiHashMap}}}. We wanted to give it a name that reflected its role as a core data structure. ["/RFC1 Comment CyData Name"] | |
Line 23: | Line 29: |
* The API provides several overloaded version of {{{setAttribute}}}, one for each basic data type, e.g. {{{setAttribute(String id, String attributeName, double value)}}}. It also provides several varients of getAttribute, e.g. {{{Double getDoubleAttribute(String id, String attributeName)}}}. ["/RFC1 Comment Getters Setters"] |
* {{{CyAttributes}}} uses a {{{MultiHashMap}}} as a back-end data store, but does not extend {{{MultiHashMap}}}. ["/RFC1 Comment Complex Data Structures"] * {{{CyAttributes}}} provides several overloaded versions of {{{setAttribute}}}, one for each basic data type, e.g. {{{setAttribute(String id, String attributeName, Double value)}}}. It also provides several varients of getAttribute, e.g. {{{Double getDoubleAttribute(String id, String attributeName)}}}. ["/RFC1 Comment Getters Setters"] |
Line 28: | Line 36: |
* {{{AttributeData}}} provides support for 'simple' maps. By simple, I mean that all keys in the map must be of type String, and all values must be of the same type, and must be one of: Boolean, Integer, Double, and String. {{{AttributeData}}} enforces these requirement explicitly. See proposed API below. ["/RFC1 Comment Maps"] |
* {{{CyAttributes}}} provides support for 'simple' maps. A 'simple' map is defined as follows: * All keys within the map are of type: String. * All values within the map are of the same type, and are chosen from one of the following: Boolean, Integer, Double or String. ["/RFC1 Comment Maps"] |
Line 30: | Line 40: |
* To do complicated things, such as create arbitarily complex data structures, you can obtain a copy of {{{CyData}}} and {{{CyDataDefinition}}} from {{{AttributeData}}}. Advanced users who need this functionality can read through the {{{CyData}}} and {{{CyDataDefinition}}} Javadocs. ["/RFC1 Comment Complex Data Structures"] | * To do complicated things, such as create arbitarily complex data structures, you can obtain the {{{MultiHashMap}}} and {{{MultiHashMapDataDefinition}}} from {{{CyAttributes}}}. ["/RFC1 Comment Complex Data Structures"] |
Line 32: | Line 42: |
* Item not yet covered: Event / Listener Framework ["/RFC1 Comment Event Framework"] | * Event / Listener Framework: Coders who wish to register for attribute events can use the existing listener API provided by {{{MultiHashMap}}}. ["/RFC1 Comment Event Framework"] |
Line 34: | Line 44: |
* Item not yet covered: support for Labels (Rowan has this feature in the current implementation of {{{CytoscapeData}}}) ["/RFC1 Comment Labels"] | * '''Open Item:''' support for Labels (Rowan has this feature in the current implementation of {{{CytoscapeData}}}) ["/RFC1 Comment Labels"] |
Line 36: | Line 46: |
* Item not yet covered: recommended attribute names ["/RFC1 Comment Attribute Names"] | * '''Open Item:''' recommended attribute names ["/RFC1 Comment Attribute Names"] |
Line 38: | Line 48: |
["/RFC1 Comment API"] | * Misc items that didn't fit in any existing category: ["/RFC1 Comment API"] |
Line 41: | Line 51: |
* Version 0.2 of {{{CyAttributes}}} is now checked in CVS at: src/cytoscape/data/ * [http://cbio.mskcc.org/~cerami/cyto/docs/cytoscape/data/CyAttributes.html View Proposed JavaDocs] |
About this Document
This is an official Request for Comment (RFC) for replacing GraphObjAttributes.
Status
10/4/2005, Version 0.2 of the proposal is below. This represents a beta version of the API, with input from: Nerius, Iliana, Rowan, Gary and Ethan.
This API is officially open for public comment until Thursday, October 13, 2005. After that time, we will take into account all comments, generate a revised API, and the Cytostaff group will vote to accept/reject CyAttributes into the core.
How to Comment:
To view/add comments, click on any of 'Comment' links below. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Here is an example to get things started: ["/RFC1 Comment Name"].
Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the API makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.
General Notes:
The following represents Version 0.2 notes, as agreed by Nerius, Iliana and Ethan:
The new interface is now called CyAttributes. ["/RFC1 Comment Name"]
CyData is now called MultiHashMap. We wanted to give it a name that reflected its role as a core data structure. ["/RFC1 Comment CyData Name"]
CyAttributes uses a MultiHashMap as a back-end data store, but does not extend MultiHashMap. ["/RFC1 Comment Complex Data Structures"]
CyAttributes provides several overloaded versions of setAttribute, one for each basic data type, e.g. setAttribute(String id, String attributeName, Double value). It also provides several varients of getAttribute, e.g. Double getDoubleAttribute(String id, String attributeName). ["/RFC1 Comment Getters Setters"]
CyAttributes provides support for 'simple' lists. A 'simple' list is defined as follows:
- All items within the list are of the same type, and are chosen from one of the following: Boolean, Integer, Double or String. ["/RFC1 Comment Lists"]
CyAttributes provides support for 'simple' maps. A 'simple' map is defined as follows:
- All keys within the map are of type: String.
- All values within the map are of the same type, and are chosen from one of the following: Boolean, Integer, Double or String. ["/RFC1 Comment Maps"]
To do complicated things, such as create arbitarily complex data structures, you can obtain the MultiHashMap and MultiHashMapDataDefinition from CyAttributes. ["/RFC1 Comment Complex Data Structures"]
Event / Listener Framework: Coders who wish to register for attribute events can use the existing listener API provided by MultiHashMap. ["/RFC1 Comment Event Framework"]
Open Item: support for Labels (Rowan has this feature in the current implementation of CytoscapeData) ["/RFC1 Comment Labels"]
Open Item: recommended attribute names ["/RFC1 Comment Attribute Names"]
- Misc items that didn't fit in any existing category: ["/RFC1 Comment API"]
Proposed API: Version 0.1
Version 0.2 of CyAttributes is now checked in CVS at: src/cytoscape/data/
[http://cbio.mskcc.org/~cerami/cyto/docs/cytoscape/data/CyAttributes.html View Proposed JavaDocs]