X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FSimpleNodeWrapper.java;h=b0959c8398263dbd55a4ccb9fafac6d339f9fdaf;hp=1b103b43c25219f60a482fcc7b9a459666ece55f;hb=1016687261692060067b32c6f9115ef29f061e85;hpb=8b5d3ec5b3a951fede6d9dd8416c64c4a5ba8bd1 diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/SimpleNodeWrapper.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/SimpleNodeWrapper.java index 1b103b43c2..b0959c8398 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/SimpleNodeWrapper.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/SimpleNodeWrapper.java @@ -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 { + + private SimpleNode simpleNode; -public final class SimpleNodeWrapper implements NodeWrapper>, SimpleNode { - - private SimpleNode 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>, Simp } return localName; } - + @Override public URI getNamespace() { if (simpleNode != null) { @@ -53,20 +65,25 @@ public final class SimpleNodeWrapper implements NodeWrapper>, 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 unwrap(CompositeNode parent) { + public boolean isChangeAllowed() { + return simpleNode == null ? true : false; + } + + @Override + public SimpleNode unwrap() { if (simpleNode == null) { if (name == null) { Preconditions.checkNotNull(namespace); name = new QName(namespace, localName); } - simpleNode = NodeFactory.createImmutableSimpleNode(name, parent, value); - + simpleNode = NodeFactory.createImmutableSimpleNode(name, null, value); + value = null; namespace = null; localName = null; @@ -77,38 +94,41 @@ public final class SimpleNodeWrapper implements NodeWrapper>, Simp @Override public QName getNodeType() { - return unwrap(null).getNodeType(); + return unwrap().getNodeType(); } @Override + @Deprecated public CompositeNode getParent() { - return unwrap(null).getParent(); + return unwrap().getParent(); } @Override - public String getValue() { - return unwrap(null).getValue(); + public Object getValue() { + return unwrap().getValue(); } @Override + @Deprecated public ModifyAction getModificationAction() { - return unwrap(null).getModificationAction(); + return unwrap().getModificationAction(); } @Override - public MutableSimpleNode asMutable() { - return unwrap(null).asMutable(); + public MutableSimpleNode asMutable() { + return unwrap().asMutable(); } @Override public QName getKey() { - return unwrap(null).getKey(); + return unwrap().getKey(); } @Override - public String setValue(String value) { - return unwrap(null).setValue(value); + public Object setValue(final Object value) { + return unwrap().setValue(value); } + }