diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-09-09 22:15:21 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-09-09 22:15:21 -0700 |
commit | 13d05bc8458758ee39cb829098241e89616717ee (patch) | |
tree | 22a4d1ce65f15952f07a3df5af4b462b4697cb3a /framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java | |
parent | 6139282e1e93c2322076de4b91b1c85d0bc4a8b3 (diff) |
ONOS checkin based on commit tag e796610b1f721d02f9b0e213cf6f7790c10ecd60
Change-Id: Ife8810491034fe7becdba75dda20de4267bd15cd
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java')
-rw-r--r-- | framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java new file mode 100644 index 00000000..9e19b624 --- /dev/null +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/IpElementId.java @@ -0,0 +1,61 @@ +package org.onosproject.net; + +import java.util.Objects; +import org.onlab.packet.IpAddress; +import com.google.common.base.MoreObjects; + +/** + * Represent for a Element ID using ip address. + */ +public final class IpElementId extends ElementId { + + private final IpAddress ipAddress; + + /** + * Public construction is prohibited. + * @param ipAddress ip address + */ + private IpElementId(IpAddress ipAddress) { + this.ipAddress = ipAddress; + } + + /** + * Create a IP Element ID. + * @param ipAddress IP address + * @return IpElementId + */ + public static IpElementId ipElement(IpAddress ipAddress) { + return new IpElementId(ipAddress); + } + + /** + * Returns the ip address. + * + * @return ipAddress + */ + public IpAddress ipAddress() { + return ipAddress; + } + + @Override + public int hashCode() { + return Objects.hash(ipAddress); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj instanceof IpElementId) { + final IpElementId other = (IpElementId) obj; + return Objects.equals(this.ipAddress, other.ipAddress); + } + return false; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(getClass()).add("ipAddress", ipAddress).toString(); + } +} |