3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
5 * This program and the accompanying materials are made available under the
6 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * and is available at http://www.eclipse.org/legal/epl-v10.html
10 package org.opendaylight.controller.sal.core;
12 import javax.xml.bind.annotation.XmlElement;
13 import javax.xml.bind.annotation.XmlRootElement;
16 * The class represents the State property of an Edge
21 @SuppressWarnings("serial")
22 public class State extends Property {
23 @XmlElement(name="value")
24 private short stateValue;
26 public static final short EDGE_DOWN = 0;
27 public static final short EDGE_UP = 1;
28 public static final short EDGE_UNK = 0x7fff;
29 public static final String StatePropName = "state";
32 * Private constructor used for JAXB mapping
36 this.stateValue = EDGE_UNK;
39 public State(short state) {
41 this.stateValue = state;
45 public State clone() {
46 return new State(this.stateValue);
49 public short getValue() {
50 return this.stateValue;
54 public int hashCode() {
56 int result = super.hashCode();
57 result = prime * result + stateValue;
62 public boolean equals(Object obj) {
65 if (!super.equals(obj))
67 if (getClass() != obj.getClass())
69 State other = (State) obj;
70 if (stateValue != other.stateValue)
76 public String toString() {
77 return "State[" + stateValue + "]";
81 public String getStringValue() {
82 if (stateValue == 0) {
84 } else if (stateValue == 1) {
86 } else if (stateValue == 0x7fff) {
89 return String.valueOf(stateValue);