/**
* Dianping.com Inc.
* Copyright (c) 2003-2013 All Rights Reserved.
*/
package com.dianping.pigeon.remoting.provider.service.method;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
public class ServiceParam {
private String[] paramNames;
private int hashCode = 0;
public ServiceParam(String[] paramNames) {
this.paramNames = paramNames;
StringBuilder sb = new StringBuilder();
for (String paramName : paramNames) {
sb.append(paramName).append("@");
}
this.hashCode = sb.toString().hashCode();
}
public int getLength() {
return this.paramNames.length;
}
public String[] getParamNames() {
return this.paramNames;
}
public int hashCode() {
return this.hashCode;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof ServiceParam) {
return this.hashCode == obj.hashCode();
}
return false;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}