package com.rackspacecloud.blueflood.io;
import org.apache.commons.lang.builder.HashCodeBuilder;
/**
* A metric foo.bar.baz.qux, has 4 {@link MetricName}'s with values as shown below
*
* name=foo, isCompleteName=false
* name=foo.bar, isCompleteName=false
* name=foo.bar.baz, isCompleteName=false
* name=foo.bar.baz.qux, isCompleteName=true
*
*/
public final class MetricName {
private final String name;
private final boolean isCompleteName;
public MetricName(String name, boolean isCompleteName) {
this.name = name;
this.isCompleteName = isCompleteName;
}
public String getName() {
return name;
}
public boolean isCompleteName() {
return isCompleteName;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MetricName metricName = (MetricName) o;
if (isCompleteName != metricName.isCompleteName) return false;
return !(name != null ? !name.equals(metricName.name) : metricName.name != null);
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(name)
.append(isCompleteName)
.toHashCode();
}
@Override
public String toString() {
return "MetricName{" +
"name='" + name + '\'' +
", isCompleteName=" + isCompleteName +
'}';
}
}