blob: 212908269724ce08dca284323b5072caaf6633e6 [file] [log] [blame]
Ayaka Koshibe74a23922014-09-09 16:45:39 -07001package org.onlab.onos.net.host;
2
3import static com.google.common.base.MoreObjects.toStringHelper;
4
5import java.util.Collections;
6import java.util.HashSet;
7import java.util.Set;
8
9import org.onlab.onos.net.HostLocation;
10import org.onlab.packet.IPv4;
11import org.onlab.packet.MACAddress;
12
13public class DefaultHostDescription implements HostDescription {
14
15 private final MACAddress mac;
16 private final short vlan;
17 private final HostLocation location;
18 private final Set<IPv4> ips;
19
20 public DefaultHostDescription(MACAddress mac, short vlan,
21 HostLocation loc, Set<IPv4> ips) {
22 this.mac = mac;
23 this.vlan = vlan;
24 this.location = loc;
25 this.ips = new HashSet<IPv4>(ips);
26 }
27
28 @Override
29 public MACAddress hwAddress() {
30 return mac;
31 }
32
33 @Override
34 public short vlan() {
35 return vlan;
36 }
37
38 @Override
39 public HostLocation location() {
40 return location;
41 }
42
43 @Override
44 public Set<IPv4> ipAddresses() {
45 return Collections.unmodifiableSet(ips);
46 }
47
48 @Override
49 public String toString() {
50 return toStringHelper(this)
51 .add("mac", mac)
52 .add("vlan", vlan)
53 .add("location", location)
54 .add("ipAddresses", ips)
55 .toString();
56 }
57
58}