Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.opensymphony.xwork2.util.profiling
Class ObjectProfiler

    java.lang.Object
      com.opensymphony.xwork2.util.profiling.ObjectProfiler

    public class ObjectProfiler

extends Object

Author:
  Scott Farquhar

Constructor Summary
`ObjectProfiler()`

Method Summary
`static Object` | `getProfiledObject(Class interfaceClazz, Object o)` Given a class, and an interface that it implements, return a proxied version of the class that implements the interface.
`static String` | `getTrimmedClassName(Method method)` Given a method, get the Method name, with no package information.
`static Object` | `profiledInvoke(Method target, Object value, Object[] args)` A profiled call `Method.invoke(java.lang.Object, java.lang.Object[])`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ObjectProfiler

    public ObjectProfiler()

Method Detail

### getProfiledObject

    public static Object getProfiledObject(Class interfaceClazz,
                                           Object o)

  Given a class, and an interface that it implements, return a proxied version of the class that implements the interface.

  The usual use of this is to profile methods from Factory objects:

       public PersistenceManager getPersistenceManager()
       {
         return new DefaultPersistenceManager();
       }

       instead write:
       public PersistenceManager getPersistenceManager()
       {
         return ObjectProfiler.getProfiledObject(PersistenceManager.class, new DefaultPersistenceManager());
       }

  A side effect of this is that you will no longer be able to downcast to DefaultPersistenceManager. This is probably a *good* thing.

  Parameters:
    `interfaceClazz` - The interface to implement.
    `o` - The object to proxy
  Returns:
    A proxied object, or the input object if the interfaceClazz wasn't an interface.

### profiledInvoke

    public static Object profiledInvoke(Method target,
                                        Object value,
                                        Object[] args)
                                 throws IllegalAccessException,
                                        InvocationTargetException

  A profiled call `Method.invoke(java.lang.Object, java.lang.Object[])`. If `UtilTimerStack.isActive()` returns false, then no profiling is performed.

  Throws:
    `IllegalAccessException`
    `InvocationTargetException`

### getTrimmedClassName

    public static String getTrimmedClassName(Method method)

  Given a method, get the Method name, with no package information.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.