1 package org.opendaylight.controller.sal.restconf.impl;
5 import org.opendaylight.yangtools.yang.common.QName;
6 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
7 import org.opendaylight.yangtools.yang.data.api.ModifyAction;
8 import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;
9 import org.opendaylight.yangtools.yang.data.api.SimpleNode;
10 import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
12 import com.google.common.base.Preconditions;
14 public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, SimpleNode<String> {
16 private SimpleNode<String> simpleNode;
18 private String localName;
20 private URI namespace;
22 public SimpleNodeWrapper(String localName, String value) {
23 this.localName = Preconditions.checkNotNull(localName);
27 public SimpleNodeWrapper(URI namespace, String localName, String value) {
28 this(localName, value);
29 this.namespace = namespace;
33 public String getLocalName() {
34 if (simpleNode != null) {
35 return simpleNode.getNodeType().getLocalName();
41 public URI getNamespace() {
42 if (simpleNode != null) {
43 return simpleNode.getNodeType().getNamespace();
49 public void setNamespace(URI namespace) {
50 Preconditions.checkState(simpleNode == null, "Cannot change the object, due to data inconsistencies.");
51 this.namespace = namespace;
55 public SimpleNode<String> unwrap(CompositeNode parent) {
56 if (simpleNode == null) {
57 Preconditions.checkNotNull(namespace);
58 simpleNode = NodeFactory.createImmutableSimpleNode(new QName(namespace, localName), parent, value);
68 public QName getNodeType() {
69 return unwrap(null).getNodeType();
73 public CompositeNode getParent() {
74 return unwrap(null).getParent();
78 public String getValue() {
79 return unwrap(null).getValue();
83 public ModifyAction getModificationAction() {
84 return unwrap(null).getModificationAction();
88 public MutableSimpleNode<String> asMutable() {
89 return unwrap(null).asMutable();
93 public QName getKey() {
94 return unwrap(null).getKey();
98 public String setValue(String value) {
99 return unwrap(null).setValue(value);