BUG 2302 : odl-clustering-test-app should not be part of the odl-restconf-all feature set
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / core / Name.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  * The class represents the Name property of an element.
19  */
20 @XmlRootElement
21 @XmlAccessorType(XmlAccessType.NONE)
22 @SuppressWarnings("serial")
23 public class Name extends Property {
24     @XmlElement(name="value")
25     private String nameValue;
26     public static final String NamePropName = "name";
27
28     /*
29      * Private constructor used for JAXB mapping
30      */
31     private Name() {
32         super(NamePropName);
33         this.nameValue = null;
34     }
35
36     public Name(String name) {
37         super(NamePropName);
38         this.nameValue = name;
39     }
40
41     @Override
42     public Name clone() {
43         return new Name(this.nameValue);
44     }
45
46     public String getValue() {
47         return this.nameValue;
48     }
49
50     @Override
51     public int hashCode() {
52         final int prime = 31;
53         int result = super.hashCode();
54         result = prime * result
55                 + ((nameValue == null) ? 0 : nameValue.hashCode());
56         return result;
57     }
58
59     @Override
60     public boolean equals(Object obj) {
61         if (this == obj)
62             return true;
63         if (!super.equals(obj))
64             return false;
65         if (getClass() != obj.getClass())
66             return false;
67         Name other = (Name) obj;
68         if (nameValue == null) {
69             if (other.nameValue != null)
70                 return false;
71         } else if (!nameValue.equals(other.nameValue))
72             return false;
73         return true;
74     }
75
76     @Override
77     public String toString() {
78         return "Name[" + nameValue + "]";
79     }
80
81     @Override
82     public String getStringValue() {
83         return nameValue;
84     }
85 }