import com.google.common.base.Preconditions;
public final class SimpleNodeWrapper implements NodeWrapper<SimpleNode<?>>, SimpleNode<Object> {
-
+
private SimpleNode<Object> simpleNode;
-
+
private String localName;
private Object value;
private URI namespace;
this.localName = Preconditions.checkNotNull(localName);
this.value = value;
}
-
+
public SimpleNodeWrapper(URI namespace, String localName, Object value) {
this(localName, value);
this.namespace = namespace;
}
-
+
@Override
public void setQname(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) {
}
return localName;
}
-
+
@Override
public URI getNamespace() {
if (simpleNode != null) {
name = new QName(namespace, localName);
}
simpleNode = NodeFactory.createImmutableSimpleNode(name, null, value);
-
+
value = null;
namespace = null;
localName = null;
public Object setValue(Object value) {
return unwrap().setValue(value);
}
-
+
}