From: Mika R. <mc...@us...> - 2004-04-11 14:36:38
|
Update of /cvsroot/jiapi/jiapi/src/samples/interceptor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21924/src/samples/interceptor Modified Files: Sample2.java Log Message: Index: Sample2.java =================================================================== RCS file: /cvsroot/jiapi/jiapi/src/samples/interceptor/Sample2.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Sample2.java 4 Apr 2004 10:03:49 -0000 1.4 --- Sample2.java 11 Apr 2004 14:22:58 -0000 1.5 *************** *** 18,22 **** * long as their type matches methods signature. */ ! public class Sample2 implements FieldHandler { public static void main(String args[]) throws Exception { new Sample2(); --- 18,22 ---- * long as their type matches methods signature. */ ! public class Sample2 implements AccessAdvisor { public static void main(String args[]) throws Exception { new Sample2(); *************** *** 33,37 **** // Set resolution to 'foo*', which means that interceptor applies // its work only on invocations to methods which start with 'foo' ! FieldInterceptor ii = new FieldInterceptor(id, "samples*",this); // Launch ITest --- 33,37 ---- // Set resolution to 'foo*', which means that interceptor applies // its work only on invocations to methods which start with 'foo' ! FieldInterceptor fi = new FieldInterceptor(id, "samples*",this); // Launch ITest *************** *** 42,46 **** /** ! * FieldHandler interface * * @param o target instance. If this is null, target Method is --- 42,46 ---- /** ! * FieldAdvisor * * @param o target instance. If this is null, target Method is *************** *** 50,79 **** * reflective method. */ ! public Object getField(Object o, java.lang.reflect.Field f) throws Exception { ! System.out.println(" Getting field " + f.getName()); ! ! long l1 = System.currentTimeMillis(); ! ! // Make a call to target method through java.lang.reflect.Method ! Object rv = f.get(o); ! ! long l2 = System.currentTimeMillis(); ! System.out.println(" Getting was done in " + ! (l2 - l1) + " ms"); ! // Remember to return value. We could change the return ! // value if desired. One must make sure, that the type ! // of the return value is valid. ! if (rv instanceof Integer) { ! int i = ((Integer)rv).intValue(); ! rv = new Integer(i + 1); ! } ! return rv; } /** ! * FieldHandler interface * * @param o target instance. If this is null, target Method is --- 50,69 ---- * reflective method. */ ! public Object get(Object o, String name, Object value) { ! // System.out.println(" Getting field " + name + ": " + value); ! // if (value instanceof String) { ! // value = ((String)value).toUpperCase(); ! // } ! // else if (value instanceof Integer) { ! // value = new Integer(100); ! // } ! return value; } /** ! * FieldAdvisor interface * * @param o target instance. If this is null, target Method is *************** *** 83,98 **** * reflective method. */ ! public void setField(Object o, java.lang.reflect.Field f, Object value) throws Exception { ! System.out.println(" Setting field " + f.getName()); ! ! long l1 = System.currentTimeMillis(); ! ! // Set the field ! f.set(o, value); ! ! long l2 = System.currentTimeMillis(); ! System.out.println(" Field was set executed in " + ! (l2 - l1) + " ms"); ! } } --- 73,79 ---- * reflective method. */ ! public Object set(Object o, String name, Object value) { ! System.out.println(" Setting field " + name + ": " + value); ! return value; } } |