Remove the usages of @XmlSeeAlso annotation.
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / core / Property.java
index d50c81e8d79cd519968a441ac664766a8dc33fa1..c36ac92cef0f74dac996666045d2692be7478537 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
  *
@@ -11,6 +10,8 @@ package org.opendaylight.controller.sal.core;
 
 import java.io.Serializable;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlSeeAlso;
 
@@ -25,19 +26,14 @@ import javax.xml.bind.annotation.XmlSeeAlso;
  */
 
 /**
- * Abstract base class for a Property that can be attached to any sal
- * core element
- *
+ * Abstract base class for a Property that can be attached to any sal core
+ * element
  */
 @XmlRootElement
-@XmlSeeAlso({ Config.class, Name.class, State.class, TimeStamp.class,
-               Latency.class, Bandwidth.class, Tier.class, Actions.class,
-               AdvertisedBandwidth.class, Buffers.class, Capabilities.class,
-               MacAddress.class, PeerBandwidth.class, SupportedBandwidth.class,
-               Tables.class })
-abstract public class Property implements Serializable {
+@XmlAccessorType(XmlAccessType.NONE)
+abstract public class Property implements Serializable, Cloneable {
     private static final long serialVersionUID = 1L;
-    private String name;
+    private final String name;
 
     /**
      * Private constructor used for JAXB mapping
@@ -55,13 +51,15 @@ abstract public class Property implements Serializable {
         return this.name;
     }
 
+    public abstract String getStringValue();
+
     /**
      * Used to copy the Property in a polymorphic way
      *
-     *
      * @return A clone of this Property
      */
-    abstract public Property clone();
+    @Override
+    public abstract Property clone();
 
     @Override
     public int hashCode() {
@@ -73,18 +71,23 @@ abstract public class Property implements Serializable {
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj)
+        if (this == obj) {
             return true;
-        if (obj == null)
+        }
+        if (obj == null) {
             return false;
-        if (getClass() != obj.getClass())
+        }
+        if (getClass() != obj.getClass()) {
             return false;
+        }
         Property other = (Property) obj;
         if (name == null) {
-            if (other.name != null)
+            if (other.name != null) {
                 return false;
-        } else if (!name.equals(other.name))
+            }
+        } else if (!name.equals(other.name)) {
             return false;
+        }
         return true;
     }