b9a26f5c00be0b6cf45775e141d22728b1d22ee2
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / java / org / opendaylight / controller / md / sal / dom / store / impl / tree / ModificationType.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.md.sal.dom.store.impl.tree;
9
10 /**
11  * Enumeration of all possible node modification states. These are used in
12  * data tree modification context to quickly assess what sort of modification
13  * the node is undergoing.
14  */
15 public enum ModificationType {
16     /**
17      * Node is currently unmodified.
18      */
19     UNMODIFIED,
20
21     /**
22      * A child node, either direct or indirect, has been modified. This means
23      * that the data representation of this node has potentially changed.
24      */
25     SUBTREE_MODIFIED,
26
27     /**
28      * This node has been placed into the tree, potentially completely replacing
29      * pre-existing contents.
30      */
31     WRITE,
32
33     /**
34      * This node has been deleted along with any of its child nodes.
35      */
36     DELETE,
37
38     /**
39      * Node has been written into the tree, but instead of replacing pre-existing
40      * contents, it has been merged. This means that any incoming nodes which
41      * were present in the tree have been replaced, but their child nodes have
42      * been retained.
43      */
44     MERGE,
45 }