blob: e8109305f480fdd2df68056f7cbf9793125681e7 [file] [log] [blame]
tom3065d122014-09-03 21:56:43 -07001package org.onlab.onos.net;
2
3import org.onlab.onos.net.provider.ProviderId;
4
5/**
6 * Base implementation of network elements, i.e. devices or hosts.
7 */
8public class AbstractElement extends AbstractModel implements Element {
9
10 protected final ElementId id;
11
tomc6491322014-09-19 15:27:40 -070012 // For serialization
13 public AbstractElement() {
14 id = null;
15 }
16
tom3065d122014-09-03 21:56:43 -070017 /**
18 * Creates a network element attributed to the specified provider.
19 *
20 * @param providerId identity of the provider
21 * @param id element identifier
22 */
23 protected AbstractElement(ProviderId providerId, ElementId id) {
24 super(providerId);
25 this.id = id;
26 }
27
28 @Override
29 public ElementId id() {
30 return id;
31 }
32
33}