Author: mmichaud
Date: 2009-03-17 08:32:48 -0700 (Tue, 17 Mar 2009)
New Revision: 16292
Modified:
core3/work-api/trunk/src/main/java/org/cytoscape/work/AbstractTunableInterceptor.java
core3/work-api/trunk/src/main/java/org/cytoscape/work/HandlerFactory.java
core3/work-api/trunk/src/main/java/org/cytoscape/work/TunableInterceptor.java
Log:
Modified:
core3/work-api/trunk/src/main/java/org/cytoscape/work/AbstractTunableInterceptor.java
===================================================================
---
core3/work-api/trunk/src/main/java/org/cytoscape/work/AbstractTunableInterceptor.java
2009-03-17 15:32:26 UTC (rev 16291)
+++
core3/work-api/trunk/src/main/java/org/cytoscape/work/AbstractTunableInterceptor.java
2009-03-17 15:32:48 UTC (rev 16292)
@@ -38,12 +38,14 @@
import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
+
/**
* DOCUMENT ME!
*
@@ -102,6 +104,29 @@
}
}
}
+
+ // Find each public method in the class.
+ for (Method method : obj.getClass().getMethods()) {
+
+ // See if the method is annotated as a Tunable.
+ if (method.isAnnotationPresent(Tunable.class)) {
+ try {
+ Tunable tunable =
method.getAnnotation(Tunable.class);
+
+ // Get a handler for this
particular field type and
+ // add it to the list.
+ T handler =
factory.getHandler(method,obj,tunable);
+
+ if ( handler != null ) {
+ handlerList.put(
method.getName(), handler );
+ }
+
+ } catch (Throwable ex) {
+ System.out.println("tunable
method intercept failed: " + method.toString() );
+ ex.printStackTrace();
+ }
+ }
+ }
handlerMap.put(obj, handlerList);
//} //End of the deleted Loop
Modified:
core3/work-api/trunk/src/main/java/org/cytoscape/work/HandlerFactory.java
===================================================================
--- core3/work-api/trunk/src/main/java/org/cytoscape/work/HandlerFactory.java
2009-03-17 15:32:26 UTC (rev 16291)
+++ core3/work-api/trunk/src/main/java/org/cytoscape/work/HandlerFactory.java
2009-03-17 15:32:48 UTC (rev 16292)
@@ -1,10 +1,14 @@
package org.cytoscape.work;
import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
public interface HandlerFactory<H extends Handler>{
H getHandler(Field f, Object o, Tunable t);
+ H getHandler(Method m, Object o, Tunable t);
+
}
\ No newline at end of file
Modified:
core3/work-api/trunk/src/main/java/org/cytoscape/work/TunableInterceptor.java
===================================================================
---
core3/work-api/trunk/src/main/java/org/cytoscape/work/TunableInterceptor.java
2009-03-17 15:32:26 UTC (rev 16291)
+++
core3/work-api/trunk/src/main/java/org/cytoscape/work/TunableInterceptor.java
2009-03-17 15:32:48 UTC (rev 16292)
@@ -6,8 +6,12 @@
public interface TunableInterceptor<T extends Handler> {
public void loadTunables(Object o);
+
public Map<String,T> getHandlers(Object o);
+
public boolean createUI(Object ... obs );
+
public void setParent(Object o);
+
public void handle();
}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---