package de.twenty11.skysail.server.ext.osgi.monitor.agent;
public class MethodIdentifier { // implements ClassInstrumentation {
private String methodName;
private String signature;
private String classname;
public MethodIdentifier() {
// TODO needed for jackson
}
public MethodIdentifier(String classname, String methodName, String signature) {
this.classname = classname;
this.methodName = methodName;
this.signature = signature;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(classname).append(": ").append(methodName).append("#").append(signature);
return sb.toString();
}
public String getMethodName() {
return methodName;
}
public String getSignature() {
return signature;
}
public String getClassname() {
return classname;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((classname == null) ? 0 : classname.hashCode());
result = prime * result + ((methodName == null) ? 0 : methodName.hashCode());
result = prime * result + ((signature == null) ? 0 : signature.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MethodIdentifier other = (MethodIdentifier) obj;
if (classname == null) {
if (other.classname != null)
return false;
} else if (!classname.equals(other.classname))
return false;
if (methodName == null) {
if (other.methodName != null)
return false;
} else if (!methodName.equals(other.methodName))
return false;
if (signature == null) {
if (other.signature != null)
return false;
} else if (!signature.equals(other.signature))
return false;
return true;
}
}