Author: abeld
Date: 2008-12-21 01:07:20 -0800 (Sun, 21 Dec 2008)
New Revision: 15475
Modified:
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/MappingCalculator.java
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/internal/VisualStyleImpl.java
Log:
refactored-viewmodel: make MappingCalculator a parametrized (generic) type
This is needed because MappingCalculator.apply() will have to call
View.setVisualProperty(VisualProperty<T> vp, T o);
Thus it needs a VisualProperty<T>, not a VisualProperty<?>
Note that this will cause problems with, say,
PassthroughMappingCalculator implementation, so this is most likely
not the final version.
Modified:
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/MappingCalculator.java
===================================================================
---
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/MappingCalculator.java
2008-12-20 09:22:09 UTC (rev 15474)
+++
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/MappingCalculator.java
2008-12-21 09:07:20 UTC (rev 15475)
@@ -35,6 +35,7 @@
package org.cytoscape.vizmap;
+import org.cytoscape.model.GraphObject;
import org.cytoscape.viewmodel.View;
import org.cytoscape.viewmodel.VisualProperty;
@@ -47,7 +48,7 @@
*
* Or should the mapping calculator map from Attr to Class<?>?
*/
-public interface MappingCalculator {
+public interface MappingCalculator<T> {
/**
* The attribute to be mapped.
*
@@ -67,19 +68,22 @@
*
* @param vp DOCUMENT ME!
*/
- public void setVisualProperty(VisualProperty<?> vp);
+ public void setVisualProperty(VisualProperty<T> vp);
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
- public VisualProperty<?> getVisualProperty();
+ public VisualProperty<T> getVisualProperty();
/**
- * DOCUMENT ME!
+ * Since current MappingCalculators map from Attributes to
+ * VisualProperties, have to restrict View<?> to those
+ * generic types that have CyAttributes; currently this is
+ * GraphObject.
*
* @param v DOCUMENT ME!
*/
- public void apply(View<?> v);
+ public <V extends GraphObject> void apply(View<V> v);
}
Modified:
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/internal/VisualStyleImpl.java
===================================================================
---
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/internal/VisualStyleImpl.java
2008-12-20 09:22:09 UTC (rev 15474)
+++
cytoscape3/branches/abeld-gsoc/dev/refactored-viewmodel/vizmap/src/main/java/org/cytoscape/vizmap/internal/VisualStyleImpl.java
2008-12-21 09:07:20 UTC (rev 15475)
@@ -133,13 +133,13 @@
}
// note: can't use applyImpl(List<View<?>>views ... ) because that does
not compile
- public <T> void applyImpl(List<View<T>>views, Collection<VisualProperty>
visualProperties){
+ public <T extends GraphObject> void applyImpl(List<View<T>>views,
Collection<VisualProperty> visualProperties){
for (View v: views) {
applyImpl(v, visualProperties);
}
}
- public void applyImpl(View<?> view, Collection<VisualProperty>
visualProperties){
+ public <T extends GraphObject> void applyImpl(View<T> view,
Collection<VisualProperty> visualProperties){
for (VisualProperty vp: visualProperties){
if (! view.isValueLocked(vp)){ // only if no bypass is defined
MappingCalculator c = getMappingCalculator(vp);
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---