first implementation of yang-data-api
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-data-api / src / main / java / org / opendaylight / controller / yang / data / api / NodeModificationBuilder.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.api;\r
9 \r
10 \r
11 /**\r
12  * @author michal.rehak\r
13  *\r
14  */\r
15 public interface NodeModificationBuilder {\r
16 \r
17     public abstract Node<?> getMutableEquivalent(Node<?> originalNode);\r
18 \r
19     public abstract CompositeNode buildDiffTree();\r
20 \r
21     public abstract void mergeNode(MutableCompositeNode alteredNode);\r
22 \r
23     public abstract void removeNode(MutableCompositeNode deadNode);\r
24 \r
25     public abstract void removeNode(MutableSimpleNode<?> deadNode);\r
26 \r
27     public abstract void deleteNode(MutableSimpleNode<?> deadNode);\r
28 \r
29     public abstract void deleteNode(MutableCompositeNode deadNode);\r
30 \r
31     public abstract void replaceNode(MutableCompositeNode replacementNode);\r
32 \r
33     public abstract void replaceNode(MutableSimpleNode<?> replacementNode);\r
34 \r
35     public abstract void addNode(MutableCompositeNode newNode);\r
36 \r
37     public abstract void addNode(MutableSimpleNode<?> newNode);\r
38 \r
39 }\r