d35610add0f6b2df7101dd6e3422f6252d272e4e
[controller.git] / opendaylight / 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.XmlElement;
13 import javax.xml.bind.annotation.XmlRootElement;
14
15 /**
16  * The class represents the Name property of an element.
17  */
18 @XmlRootElement
19 @SuppressWarnings("serial")
20 public class Name extends Property {
21     @XmlElement(name="value")
22     private String nameValue;
23     public static final String NamePropName = "name";
24
25     /*
26      * Private constructor used for JAXB mapping
27      */
28     private Name() {
29         super(NamePropName);
30         this.nameValue = null;
31     }
32
33     public Name(String name) {
34         super(NamePropName);
35         this.nameValue = name;
36     }
37
38     @Override
39     public Name clone() {
40         return new Name(this.nameValue);
41     }
42
43     public String getValue() {
44         return this.nameValue;
45     }
46
47     @Override
48     public int hashCode() {
49         final int prime = 31;
50         int result = super.hashCode();
51         result = prime * result
52                 + ((nameValue == null) ? 0 : nameValue.hashCode());
53         return result;
54     }
55
56     @Override
57     public boolean equals(Object obj) {
58         if (this == obj)
59             return true;
60         if (!super.equals(obj))
61             return false;
62         if (getClass() != obj.getClass())
63             return false;
64         Name other = (Name) obj;
65         if (nameValue == null) {
66             if (other.nameValue != null)
67                 return false;
68         } else if (!nameValue.equals(other.nameValue))
69             return false;
70         return true;
71     }
72
73     @Override
74     public String toString() {
75         return "Name[" + nameValue + "]";
76     }
77 }