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
-~----------~----~----~----~------~----~------~--~---

Reply via email to