|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.util.profiling.object.ObjectProfiler
Constructor Summary | |
ObjectProfiler()
|
Method Summary | |
static java.lang.Object |
getProfiledObject(java.lang.Class interfaceClazz,
java.lang.Object o)
Given a class, and an interface that it implements, return a proxied version of the class that implements the interface. |
static java.lang.String |
getTrimmedClassName(java.lang.reflect.Method method)
Given a method, get the Method name, with no package information. |
static java.lang.Object |
profiledInvoke(java.lang.reflect.Method target,
java.lang.Object value,
java.lang.Object[] args)
A profiled call {@link 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 |
public ObjectProfiler()
Method Detail |
public static java.lang.Object getProfiledObject(java.lang.Class interfaceClazz, java.lang.Object o)
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.
interfaceClazz
- The interface to implement.o
- The object to proxy
public static java.lang.Object profiledInvoke(java.lang.reflect.Method target, java.lang.Object value, java.lang.Object[] args) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
public static java.lang.String getTrimmedClassName(java.lang.reflect.Method method)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |