|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.opensymphony.xwork2.util.profiling.ObjectProfiler
public class 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 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
Method.invoke(java.lang.Object, java.lang.Object[]). If UtilTimerStack.isActive()
returns false, then no profiling is performed.
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetExceptionpublic 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 | |||||||||