BUG-868: mark inherited methods as deprecated
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / restconf / impl / SimpleNodeWrapper.java
index c1576895fd70bc8fc5c23a706c1fe26501af4b03..b0959c8398263dbd55a4ccb9fafac6d339f9fdaf 100644 (file)
@@ -1,5 +1,14 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
 package org.opendaylight.controller.sal.restconf.impl;
 
+import com.google.common.base.Preconditions;
+
 import java.net.URI;
 
 import org.opendaylight.yangtools.yang.common.QName;
@@ -9,33 +18,36 @@ import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;
 import org.opendaylight.yangtools.yang.data.api.SimpleNode;
 import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
 
-import com.google.common.base.Preconditions;
+public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, SimpleNode<Object> {
+
+    private SimpleNode<Object> simpleNode;
 
-public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, SimpleNode<String> {
-    
-    private SimpleNode<String> simpleNode;
-    
     private String localName;
-    private String value;
+    private Object value;
     private URI namespace;
     private QName name;
 
-    public SimpleNodeWrapper(String localName, String value) {
+    public SimpleNodeWrapper(final String localName, final Object value) {
         this.localName = Preconditions.checkNotNull(localName);
         this.value = value;
     }
-    
-    public SimpleNodeWrapper(URI namespace, String localName, String value) {
+
+    public SimpleNodeWrapper(final URI namespace, final String localName, final Object value) {
         this(localName, value);
         this.namespace = namespace;
     }
-    
+
     @Override
-    public void setQname(QName name) {
+    public void setQname(final QName name) {
         Preconditions.checkState(simpleNode == null, "Cannot change the object, due to data inconsistencies.");
         this.name = name;
     }
-    
+
+    @Override
+    public QName getQname() {
+        return name;
+    }
+
     @Override
     public String getLocalName() {
         if (simpleNode != null) {
@@ -43,7 +55,7 @@ public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, Simp
         }
         return localName;
     }
-    
+
     @Override
     public URI getNamespace() {
         if (simpleNode != null) {
@@ -53,20 +65,25 @@ public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, Simp
     }
 
     @Override
-    public void setNamespace(URI namespace) {
+    public void setNamespace(final URI namespace) {
         Preconditions.checkState(simpleNode == null, "Cannot change the object, due to data inconsistencies.");
         this.namespace = namespace;
     }
 
     @Override
-    public SimpleNode<String> unwrap() {
+    public boolean isChangeAllowed() {
+        return simpleNode == null ? true : false;
+    }
+
+    @Override
+    public SimpleNode<Object> unwrap() {
         if (simpleNode == null) {
             if (name == null) {
                 Preconditions.checkNotNull(namespace);
                 name = new QName(namespace, localName);
             }
             simpleNode = NodeFactory.createImmutableSimpleNode(name, null, value);
-            
+
             value = null;
             namespace = null;
             localName = null;
@@ -81,22 +98,24 @@ public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, Simp
     }
 
     @Override
+    @Deprecated
     public CompositeNode getParent() {
         return unwrap().getParent();
     }
 
     @Override
-    public String getValue() {
+    public Object getValue() {
         return unwrap().getValue();
     }
 
     @Override
+    @Deprecated
     public ModifyAction getModificationAction() {
         return unwrap().getModificationAction();
     }
 
     @Override
-    public MutableSimpleNode<String> asMutable() {
+    public MutableSimpleNode<Object> asMutable() {
         return unwrap().asMutable();
     }
 
@@ -106,9 +125,10 @@ public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, Simp
     }
 
     @Override
-    public String setValue(String value) {
+    public Object setValue(final Object value) {
         return unwrap().setValue(value);
     }
 
 
+
 }