997b5025a776be6ba65f3a274731b54a86303744
[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 CompositeNodeModificationTOImpl\r
24         implements MutableCompositeNode {\r
25 \r
26     private Map<QName, List<Node<?>>> nodeMap;\r
27 \r
28     /**\r
29      * @param qname\r
30      * @param parent\r
31      * @param value\r
32      * @param modifyAction\r
33      */\r
34     public MutableCompositeNodeTOImpl(QName qname, CompositeNode parent,\r
35             List<Node<?>> value, ModifyAction modifyAction) {\r
36         super(qname, parent, value, modifyAction);\r
37     }\r
38     \r
39     /**\r
40      * update nodeMap\r
41      */\r
42     @Override\r
43     public void init() {\r
44         nodeMap = NodeUtils.buildNodeMap(getChildren());\r
45     }\r
46 \r
47     @Override\r
48     public void setValue(List<Node<?>> value) {\r
49         super.setValue(value);\r
50     }\r
51     \r
52     @Override\r
53     public void setModifyAction(ModifyAction action) {\r
54         super.setModificationAction(action);\r
55     }\r
56     \r
57     @Override\r
58     protected Map<QName, List<Node<?>>> getNodeMap() {\r
59         return nodeMap;\r
60     }\r
61 }\r