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.XmlAccessType;
13 import javax.xml.bind.annotation.XmlAccessorType;
14 import javax.xml.bind.annotation.XmlElement;
15 import javax.xml.bind.annotation.XmlRootElement;
20 * @brief Class representing actions
22 * Describes supported actions
26 @XmlAccessorType(XmlAccessType.NONE)
27 public class Actions extends Property {
28 private static final long serialVersionUID = 1L;
29 @XmlElement(name="value")
30 private int actionsValue;
32 public enum ActionType {
33 OUTPUT_PORT_ACTION(1<<0),
34 VLAN_VID_ACTION(1<<1),
35 VLAN_PCP_ACTION(1<<2),
36 VLAN_STRIP_ACTION(1<<3),
44 ENQUEUE_ACTION(1<<11),
45 VENDOR_ACTION(0xffff);
50 public int getValue() {
55 public static final String ActionsPropName = "actions";
57 * Construct a actions property
59 * @param actions the actions value
60 * @return Constructed object
62 public Actions(int actions) {
63 super(ActionsPropName);
64 this.actionsValue = actions;
68 * Private constructor used for JAXB mapping
71 super(ActionsPropName);
72 this.actionsValue = 0;
76 public Actions clone() {
77 return new Actions(this.actionsValue);
80 public int getValue() {
81 return this.actionsValue;
86 public int hashCode() {
88 int result = super.hashCode();
89 result = prime * result + actionsValue;
94 public boolean equals(Object obj) {
97 if (!super.equals(obj))
99 if (getClass() != obj.getClass())
101 Actions other = (Actions) obj;
102 if (actionsValue != other.actionsValue)
108 public String toString() {
109 return "Actions[" + actionsValue + "]";
113 public String getStringValue() {
114 return Integer.toHexString(actionsValue);