\r
import org.opendaylight.controller.yang.common.QName;\r
import org.opendaylight.controller.yang.data.api.CompositeNode;\r
+import org.opendaylight.controller.yang.data.api.ModifyAction;\r
+import org.opendaylight.controller.yang.data.api.MutableCompositeNode;\r
import org.opendaylight.controller.yang.data.api.Node;\r
import org.opendaylight.controller.yang.data.api.SimpleNode;\r
\r
if (value != null) {\r
nodeMap = NodeUtils.buildNodeMap(getValue());\r
}\r
+ init();\r
+ }\r
+\r
+ /**\r
+ * @param qname\r
+ * @param parent use null to create top composite node (without parent)\r
+ * @param value\r
+ * @param modifyAction \r
+ */\r
+ public CompositeNodeTOImpl(QName qname, CompositeNode parent,\r
+ List<Node<?>> value, ModifyAction modifyAction) {\r
+ super(qname, parent, value, modifyAction);\r
+ init();\r
}\r
\r
\r
\r
@Override\r
public List<CompositeNode> getCompositesByName(String children) {\r
- return getCompositesByName(localQName(children));\r
+ return getCompositesByName(new QName(getNodeType(), children));\r
}\r
\r
@Override\r
public List<SimpleNode<?>> getSimpleNodesByName(String children) {\r
- return getSimpleNodesByName(localQName(children));\r
+ return getSimpleNodesByName(new QName(getNodeType(), children));\r
}\r
\r
- private QName localQName(String str) {\r
- return new QName(getNodeType(), str);\r
+ /**\r
+ * @param value\r
+ */\r
+ protected void init() {\r
+ if (getValue() != null) {\r
+ nodeMap = NodeUtils.buildNodeMap(getValue());\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ public MutableCompositeNode asMutable() {\r
+ throw new IllegalAccessError("cast to mutable is not supported - "+getClass().getSimpleName());\r
}\r
+ \r
+ @Override\r
+ public String toString() {\r
+ return super.toString() + ", children.size = " \r
+ + (getChildren() != null ? getChildren().size() : "n/a");\r
+ }\r
+ \r
+ \r
\r
}\r