Fix minor bug in FRM proactive flow code path
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-data-impl / src / main / java / org / opendaylight / controller / yang / data / impl / MutableCompositeNodeTOImpl.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.controller.yang.data.impl;\r
9 \r
10 import java.util.List;\r
11 import java.util.Map;\r
12 \r
13 import org.opendaylight.controller.yang.common.QName;\r
14 import org.opendaylight.controller.yang.data.api.CompositeNode;\r
15 import org.opendaylight.controller.yang.data.api.ModifyAction;\r
16 import org.opendaylight.controller.yang.data.api.MutableCompositeNode;\r
17 import org.opendaylight.controller.yang.data.api.Node;\r
18 \r
19 /**\r
20  * @author michal.rehak\r
21  * \r
22  */\r
23 public class MutableCompositeNodeTOImpl extends CompositeNodeTOImpl\r
24         implements MutableCompositeNode {\r
25 \r
26     private Map<QName, List<Node<?>>> nodeMap;\r
27     private CompositeNode original;\r
28 \r
29     /**\r
30      * @param qname\r
31      * @param parent\r
32      * @param value\r
33      * @param modifyAction\r
34      */\r
35     public MutableCompositeNodeTOImpl(QName qname, CompositeNode parent,\r
36             List<Node<?>> value, ModifyAction modifyAction) {\r
37         super(qname, parent, value, modifyAction);\r
38     }\r
39     \r
40     /**\r
41      * update nodeMap\r
42      */\r
43     @Override\r
44     public void init() {\r
45         if (!getChildren().isEmpty()) {\r
46             nodeMap = NodeUtils.buildNodeMap(getChildren());\r
47         }\r
48     }\r
49 \r
50     @Override\r
51     public void setValue(List<Node<?>> value) {\r
52         super.setValue(value);\r
53     }\r
54     \r
55     @Override\r
56     public void setModifyAction(ModifyAction action) {\r
57         super.setModificationAction(action);\r
58     }\r
59     \r
60     @Override\r
61     protected Map<QName, List<Node<?>>> getNodeMap() {\r
62         return nodeMap;\r
63     }\r
64     \r
65     @Override\r
66     public MutableCompositeNode asMutable() {\r
67         return this;\r
68     }\r
69     \r
70     @Override\r
71     public CompositeNode getOriginal() {\r
72         return original;\r
73     }\r
74     \r
75     /**\r
76      * @param original the original to set\r
77      */\r
78     public void setOriginal(CompositeNode original) {\r
79         this.original = original;\r
80     }\r
81 }\r