public AbstractName getAbstractName() {
return objectName;
}
public final Object intercept(final Object object, final Method method, final Object[] args, final MethodProxy proxy) throws Throwable {
ProxyInvoker gbeanInvoker;
int interfaceIndex = proxy.getSuperIndex();
synchronized (this) {
if (gbeanInvokers == null) {
throw new DeadProxyException("Proxy is no longer valid");
}
gbeanInvoker = gbeanInvokers[interfaceIndex];
}
if (gbeanInvoker == null) {
throw new UnsupportedOperationException("No implementation method: objectName=" + objectName + ", method=" + method);
}
return gbeanInvoker.invoke(objectName, args);
}