this.method = method; this.methodHash = methodHash; this.arguments = arguments; this.interceptors = interceptors;
if (responseContextInfo == null) responseContextInfo = new HashMap(); responseContextInfo.put(key, val);
return arguments;
return interceptors;
// todo: set up the chain for metadata resolving Object value = null; if (metadata != null) value = metadata.getMetaData(key, attr); if (value != null) return value; value = ThreadMetaData.instance().getMetaData(key, attr); return value;
if (metadata == null) metadata = new SimpleMetaData(); return metadata;
return method;
return methodHash;
if (responseContextInfo == null) return null; return responseContextInfo.get(key);
return responseContextInfo;
throw new RuntimeException("NOT IMPLEMENTED");
if (currentInterceptor < interceptors.length) { try { return interceptors[currentInterceptor++].invoke(this); } finally { // so that interceptors like clustering can reinvoke down the chain currentInterceptor--; } } try { return method.invoke(getTargetObject(), getArguments()); } catch (InvocationTargetException e) { throw e.getTargetException(); }
this.arguments = args;
this.interceptors = interceptors;
this.metadata = data;
this.responseContextInfo = responseContextInfo;