Expose optical properties
Change-Id: I30714563a6a02e5c4c777b759968251625ec4969
diff --git a/core/api/src/main/java/org/onosproject/net/device/DefaultPortStatistics.java b/core/api/src/main/java/org/onosproject/net/device/DefaultPortStatistics.java
index 6e0ab42..e46def2 100644
--- a/core/api/src/main/java/org/onosproject/net/device/DefaultPortStatistics.java
+++ b/core/api/src/main/java/org/onosproject/net/device/DefaultPortStatistics.java
@@ -15,13 +15,15 @@
*/
package org.onosproject.net.device;
+import org.onosproject.net.AbstractAnnotated;
+import org.onosproject.net.Annotations;
import org.onosproject.net.DeviceId;
import org.onosproject.net.PortNumber;
/**
* Default implementation of immutable port statistics.
*/
-public final class DefaultPortStatistics implements PortStatistics {
+public final class DefaultPortStatistics extends AbstractAnnotated implements PortStatistics {
private final DeviceId deviceId;
private final PortNumber portNumber;
@@ -47,7 +49,9 @@
long packetsRxErrors,
long packetsTxErrors,
long durationSec,
- long durationNano) {
+ long durationNano,
+ Annotations annotations) {
+ super(annotations);
this.deviceId = deviceId;
this.portNumber = portNumber;
this.packetsReceived = packetsReceived;
@@ -168,7 +172,8 @@
"pktRxErr: " + this.packetsRxErrors + ", " +
"pktTxErr: " + this.packetsTxErrors + ", " +
"pktRxDrp: " + this.packetsRxDropped + ", " +
- "pktTxDrp: " + this.packetsTxDropped;
+ "pktTxDrp: " + this.packetsTxDropped + ", " +
+ "annotations: " + annotations();
}
public static final class Builder {
@@ -185,6 +190,7 @@
long packetsTxErrors;
long durationSec;
long durationNano;
+ Annotations annotations;
private Builder() {
@@ -349,6 +355,18 @@
}
/**
+ * Sets the annotations.
+ *
+ * @param anns annotations
+ * @return builder object
+ */
+ public Builder setAnnotations(Annotations anns) {
+ annotations = anns;
+
+ return this;
+ }
+
+ /**
* Creates a PortStatistics object.
*
* @return DefaultPortStatistics object
@@ -366,7 +384,8 @@
packetsRxErrors,
packetsTxErrors,
durationSec,
- durationNano);
+ durationNano,
+ annotations);
}
}