2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.yang.data.impl;
10 import java.io.IOException;
11 import java.io.ObjectInputStream;
12 import java.io.ObjectOutputStream;
13 import java.io.Serializable;
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
17 import org.opendaylight.yangtools.yang.data.api.ModifyAction;
18 import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;
19 import org.opendaylight.yangtools.yang.data.api.SimpleNode;
20 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
23 * @author michal.rehak
24 * @param <T> type of simple node value
26 * @deprecated Use one of the {@link NormalizedNode} implementation packages.
29 public class SimpleNodeTOImpl<T> extends AbstractNodeTO<T> implements SimpleNode<T>, Serializable {
31 private static final long serialVersionUID = 100L;
38 public SimpleNodeTOImpl(final QName qname, final CompositeNode parent, final T value) {
39 super(qname, parent, value);
48 public SimpleNodeTOImpl(final QName qname, final CompositeNode parent, final T value, final ModifyAction modifyAction) {
49 super(qname, parent, value, modifyAction);
53 public MutableSimpleNode<T> asMutable() {
54 throw new IllegalAccessError("cast to mutable is not supported - "+getClass().getSimpleName());
58 public String toString() {
60 return super.toString() + ", value = "+getValue();
63 // Serialization related
65 private void readObject(final ObjectInputStream aStream) throws IOException, ClassNotFoundException {
66 aStream.defaultReadObject();
67 QName qName = (QName)aStream.readObject();
68 CompositeNode parent = (CompositeNode) aStream.readObject();
69 T value = (T) aStream.readObject();
70 ModifyAction modifyAction = (ModifyAction) aStream.readObject();
72 init(qName, parent, value, modifyAction);
75 private void writeObject(final ObjectOutputStream aStream) throws IOException {
76 aStream.defaultWriteObject();
77 //manually serialize superclass
78 aStream.writeObject(getQName());
79 aStream.writeObject(getParent());
80 aStream.writeObject(getValue());
81 aStream.writeObject(getModificationAction());