/** * Dianping.com Inc. * Copyright (c) 2003-2013 All Rights Reserved. */ package com.dianping.pigeon.remoting.invoker.domain; import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import com.dianping.pigeon.remoting.common.domain.AbstractInvocationContext; import com.dianping.pigeon.remoting.invoker.Client; import com.dianping.pigeon.remoting.invoker.config.InvokerConfig; public class DefaultInvokerContext extends AbstractInvocationContext implements InvokerContext { private InvokerConfig<?> invokerConfig; private String methodName; private Class<?>[] parameterTypes; private Object[] arguments; private Client client; final private DegradeInfo degradeInfo = new DegradeInfo(); public DefaultInvokerContext(InvokerConfig<?> invokerConfig, String methodName, Class<?>[] parameterTypes, Object[] arguments) { super(null); this.invokerConfig = invokerConfig; this.methodName = methodName; this.parameterTypes = parameterTypes; this.arguments = arguments; getTimeline().add(new TimePoint(TimePhase.S, System.currentTimeMillis())); } public InvokerConfig<?> getInvokerConfig() { return invokerConfig; } public String getMethodName() { return methodName; } public void setMethodName(String methodName) { this.methodName = methodName; } public Class<?>[] getParameterTypes() { return parameterTypes; } public void setParameterTypes(Class<?>[] parameterTypes) { this.parameterTypes = parameterTypes; } public void setArguments(Object[] arguments) { this.arguments = arguments; } public Object[] getArguments() { return arguments; } @Override public Client getClient() { return client; } @Override public void setClient(Client client) { this.client = client; } @Override public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE); } @Override public String getMethodUri() { return null; } @Override public void setMethodUri(String uri) { } @Override public DegradeInfo getDegradeInfo() { return degradeInfo; } }