Update net.onrc.onos.core.matchaction.action package.
- Added ModifySrcMacActions class.
- Implemented hashCode() and equals() methods for all Action classes.
Change-Id: I568d5fe7a105bb1553642a9e8af782248835a183
diff --git a/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java b/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
index a86b4d0..792b76e 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
@@ -1,7 +1,10 @@
package net.onrc.onos.core.matchaction.action;
+import static com.google.common.base.Preconditions.checkNotNull;
import net.onrc.onos.core.util.PortNumber;
+import com.google.common.base.Objects;
+
/**
* An action object to output traffic to specified port.
* <p>
@@ -9,7 +12,7 @@
* MatchAction, Flow or Intent class.
*/
public class OutputAction implements Action {
- protected PortNumber portNumber;
+ private final PortNumber portNumber;
/**
* Constructor.
@@ -17,7 +20,7 @@
* @param dstPort The port number of the target output port.
*/
public OutputAction(PortNumber dstPort) {
- this.portNumber = dstPort;
+ this.portNumber = checkNotNull(dstPort);
}
/**
@@ -28,4 +31,22 @@
public PortNumber getPortNumber() {
return portNumber;
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(portNumber);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null || getClass() != obj.getClass()) {
+ return false;
+ }
+ OutputAction that = (OutputAction) obj;
+ return Objects.equal(this.portNumber, that.portNumber);
+ }
+
}