Merge "Move adsal into its own subdirectory."
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / core / Buffers.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
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
8  */
9
10 package org.opendaylight.controller.sal.core;
11
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;
16
17 /**
18  * @file   Buffers.java
19  *
20  * @brief  Class representing buffers
21  *
22  * Describes supported buffers (#packets)
23  */
24 @XmlRootElement
25 @XmlAccessorType(XmlAccessType.NONE)
26 public class Buffers extends Property {
27         private static final long serialVersionUID = 1L;
28     @XmlElement(name="value")
29     private int buffersValue;
30
31     public static final String BuffersPropName = "buffers";
32
33     /**
34      * Construct a Buffers property
35      *
36      * @param buffers the Buffers
37      * @return Constructed object
38      */
39     public Buffers(int buffers) {
40         super(BuffersPropName);
41         this.buffersValue = buffers;
42     }
43
44     /*
45      * Private constructor used for JAXB mapping
46      */
47     private Buffers() {
48         super(BuffersPropName);
49         this.buffersValue = 0;
50     }
51
52     @Override
53     public Buffers clone() {
54         return new Buffers(this.buffersValue);
55     }
56
57     public int getValue() {
58         return this.buffersValue;
59     }
60
61     @Override
62     public int hashCode() {
63         final int prime = 31;
64         int result = super.hashCode();
65         result = prime * result + buffersValue;
66         return result;
67     }
68
69     @Override
70     public boolean equals(Object obj) {
71         if (this == obj)
72             return true;
73         if (!super.equals(obj))
74             return false;
75         if (getClass() != obj.getClass())
76             return false;
77         Buffers other = (Buffers) obj;
78         if (buffersValue != other.buffersValue)
79             return false;
80         return true;
81     }
82
83     @Override
84     public String toString() {
85         return "Buffers[" + buffersValue + "]";
86     }
87
88     @Override
89     public String getStringValue() {
90         return Integer.toHexString(buffersValue);
91     }
92 }