1 package org.opendaylight.controller.sal.core;
3 import javax.xml.bind.annotation.XmlElement;
4 import javax.xml.bind.annotation.XmlRootElement;
7 * The class represents the forwarding mode property of a node.
10 @SuppressWarnings("serial")
11 public class ForwardingMode extends Property {
12 @XmlElement(name="value")
13 private final int modeValue;
14 public static final int REACTIVE_FORWARDING = 0;
15 public static final int PROACTIVE_FORWARDING = 1;
16 public static final String name = "forwarding";
19 * Private constructor used for JAXB mapping
21 private ForwardingMode() {
23 this.modeValue = REACTIVE_FORWARDING;
26 public ForwardingMode(int mode) {
28 this.modeValue = mode;
31 public int getValue() {
32 return this.modeValue;
35 public boolean isProactive() {
36 return (modeValue == ForwardingMode.PROACTIVE_FORWARDING);
39 public boolean isValid() {
40 return ((modeValue >= 0) && (modeValue <= 1));
44 public ForwardingMode clone() {
45 return new ForwardingMode(this.modeValue);
49 public int hashCode() {
51 int result = super.hashCode();
52 result = prime * result + modeValue;
57 public boolean equals(Object obj) {
60 if (!super.equals(obj))
62 if (getClass() != obj.getClass())
64 ForwardingMode other = (ForwardingMode) obj;
65 if (modeValue != other.modeValue)
71 public String toString() {
72 return "Mode[" + modeValue + "]";
76 public String getStringValue() {
77 return (modeValue == ForwardingMode.PROACTIVE_FORWARDING) ? "Proactive" : "Reactive";