X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2FAbstractNodeTO.java;h=307bf1216997b97ee0d8ff7985679b7d7fcfef2f;hb=8c832947687d71599c6cfc92301750d65196fa14;hp=71644923afbb6bfff86e2e86de1e733b852da4e4;hpb=71796f7bd699504e4de34d1e4d8d30b73f230bf5;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/AbstractNodeTO.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/AbstractNodeTO.java index 71644923af..307bf12169 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/AbstractNodeTO.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/AbstractNodeTO.java @@ -12,13 +12,15 @@ import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.data.api.ModifyAction; import org.opendaylight.yangtools.yang.data.api.Node; import org.opendaylight.yangtools.yang.data.api.NodeModification; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; /** * @author michal.rehak * @param * type of node value - * + * @deprecated Use one of the {@link NormalizedNodeBuilder} implementations. */ +@Deprecated public abstract class AbstractNodeTO implements Node, NodeModification { private QName qName; @@ -26,15 +28,18 @@ public abstract class AbstractNodeTO implements Node, NodeModification { private T value; private ModifyAction modifyAction; + // Only for Serialization use + public AbstractNodeTO(){ + + } + /** * @param qname * @param parent * @param value */ - public AbstractNodeTO(QName qname, CompositeNode parent, T value) { - this.qName = qname; - this.parent = parent; - this.value = value; + public AbstractNodeTO(final QName qname, final CompositeNode parent, final T value) { + this(qname, parent, value, null); } /** @@ -43,7 +48,7 @@ public abstract class AbstractNodeTO implements Node, NodeModification { * @param value * @param modifyAction */ - public AbstractNodeTO(QName qname, CompositeNode parent, T value, ModifyAction modifyAction) { + public AbstractNodeTO(final QName qname, final CompositeNode parent, final T value, final ModifyAction modifyAction) { this.qName = qname; this.parent = parent; this.value = value; @@ -71,7 +76,7 @@ public abstract class AbstractNodeTO implements Node, NodeModification { * @param parent * the parent to set */ - public void setParent(CompositeNode parent) { + public void setParent(final CompositeNode parent) { this.parent = parent; } @@ -79,8 +84,11 @@ public abstract class AbstractNodeTO implements Node, NodeModification { * @param value * the value to set */ - protected void setValue(T value) { + @Override + public T setValue(final T value) { + T oldValue = this.value; this.value = value; + return oldValue; } @Override @@ -90,7 +98,7 @@ public abstract class AbstractNodeTO implements Node, NodeModification { /** * @return modification action - * @see org.opendaylight.yangtools.yang.data.impl.NodeModificationSupport#getModificationAction() + * @see NodeModification#getModificationAction() */ @Override public ModifyAction getModificationAction() { @@ -101,7 +109,7 @@ public abstract class AbstractNodeTO implements Node, NodeModification { * @param modifyAction * the modifyAction to set */ - protected void setModificationAction(ModifyAction modifyAction) { + protected void setModificationAction(final ModifyAction modifyAction) { this.modifyAction = modifyAction; } @@ -113,19 +121,24 @@ public abstract class AbstractNodeTO implements Node, NodeModification { return out.toString(); } + + @Override + public final QName getKey() { + return getNodeType(); + } + /* */ @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((modifyAction == null) ? 0 : modifyAction.hashCode()); result = prime * result + ((qName == null) ? 0 : qName.hashCode()); result = prime * result + ((value == null) ? 0 : value.hashCode()); return result % 2; } @Override - public boolean equals(Object obj) { + public boolean equals(final Object obj) { if (this == obj) { return true; } @@ -137,9 +150,6 @@ public abstract class AbstractNodeTO implements Node, NodeModification { } @SuppressWarnings("unchecked") AbstractNodeTO other = (AbstractNodeTO) obj; - if (modifyAction != other.modifyAction) { - return false; - } if (parent == null) { if (other.parent != null) { return false; @@ -165,4 +175,13 @@ public abstract class AbstractNodeTO implements Node, NodeModification { } /* */ + + //Serialization related + + protected final void init(final QName qName, final CompositeNode parent, final T value, final ModifyAction modifyAction){ + this.qName = qName; + this.modifyAction = modifyAction; + this.parent = parent; + this.value = value; + } }