blob: a0217d42225037b45b981c50702270705416d2eb [file] [log] [blame]
package net.onrc.onos.ofcontroller.util;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* The class representing a Caller ID for an ONOS component.
*/
public class CallerId {
private String value;
/**
* Default constructor.
*/
public CallerId() {}
/**
* Copy constructor
* @param otherCallerId
*/
public CallerId(CallerId otherCallerId) {
// Note: make a full copy if we change value to a mutable type
value = otherCallerId.value;
}
/**
* Constructor from a string value.
*
* @param value the value to use.
*/
public CallerId(String value) {
this.value = value;
}
/**
* Get the value of the Caller ID.
*
* @return the value of the Caller ID.
*/
@JsonProperty("value")
public String value() { return value; }
/**
* Set the value of the Caller ID.
*
* @param value the value to set.
*/
@JsonProperty("value")
public void setValue(String value) {
this.value = value;
}
/**
* Convert the Caller ID value to a string.
*
* @return the Caller ID value to a string.
*/
@Override
public String toString() {
return value;
}
@Override
public boolean equals(Object other) {
if (!(other instanceof CallerId)) {
return false;
}
CallerId otherCallerId = (CallerId) other;
return value.equals(otherCallerId.value);
}
@Override
public int hashCode() {
return value.hashCode();
}
}