*/\r
package org.opendaylight.yangtools.yang.data.impl;\r
\r
+import org.opendaylight.yangtools.yang.common.QName;\r
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;\r
+import org.opendaylight.yangtools.yang.data.api.ModifyAction;\r
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;\r
+import org.opendaylight.yangtools.yang.data.api.Node;\r
+import org.opendaylight.yangtools.yang.data.api.SimpleNode;\r
+\r
+import java.io.IOException;\r
+import java.io.ObjectInputStream;\r
+import java.io.ObjectOutputStream;\r
+import java.io.Serializable;\r
import java.util.ArrayList;\r
import java.util.Collection;\r
import java.util.Collections;\r
import java.util.Map;\r
import java.util.Set;\r
\r
-import org.opendaylight.yangtools.yang.common.QName;\r
-import org.opendaylight.yangtools.yang.data.api.CompositeNode;\r
-import org.opendaylight.yangtools.yang.data.api.ModifyAction;\r
-import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;\r
-import org.opendaylight.yangtools.yang.data.api.Node;\r
-import org.opendaylight.yangtools.yang.data.api.SimpleNode;\r
-\r
/**\r
* @author michal.rehak\r
* \r
*/\r
-public class MutableCompositeNodeTOImpl extends AbstractNodeTO<List<Node<?>>> implements MutableCompositeNode {\r
+public class MutableCompositeNodeTOImpl extends AbstractNodeTO<List<Node<?>>> implements MutableCompositeNode, Serializable {\r
+\r
+ private static final long serialVersionUID = 100L;\r
\r
private Map<QName, List<Node<?>>> nodeMap = new HashMap<>();\r
private CompositeNode original;\r
public Collection<List<Node<?>>> values() {\r
return nodeMap.values();\r
}\r
+\r
+ // Serialization related\r
+\r
+ private void readObject(ObjectInputStream aStream) throws IOException, ClassNotFoundException {\r
+ aStream.defaultReadObject();\r
+ QName qName = (QName)aStream.readObject();\r
+ CompositeNode parent = (CompositeNode) aStream.readObject();\r
+ List<Node<?>> value = (List<Node<?>>) aStream.readObject();\r
+ ModifyAction modifyAction = (ModifyAction) aStream.readObject();\r
+\r
+ init(qName, parent, value, modifyAction);\r
+ }\r
+\r
+ private void writeObject(ObjectOutputStream aStream) throws IOException {\r
+ aStream.defaultWriteObject();\r
+ //manually serialize superclass\r
+ aStream.writeObject(getQName());\r
+ aStream.writeObject(getParent());\r
+ aStream.writeObject(getValue());\r
+ aStream.writeObject(getModificationAction());\r
+ }\r
}\r