/* * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; /** * Enumeration of all possible node modification states. These are used in * data tree modification context to quickly assess what sort of modification * the node is undergoing. This is a superset of {@link ModificationType}: * where this type represents a logical operation, {@link ModificationType} * represents a physical operation. */ enum LogicalOperation { /** * Node is currently unmodified. */ NONE, /** * A child node, either direct or indirect, has been modified. This means * that the data representation of this node has potentially changed. */ TOUCH, /** * This node has been placed into the tree, potentially completely replacing * pre-existing contents. */ WRITE, /** * This node has been deleted along with any of its child nodes. */ DELETE, /** * Node has been written into the tree, but instead of replacing pre-existing * contents, it has been merged. This means that any incoming nodes which * were present in the tree have been replaced, but their child nodes have * been retained. */ MERGE, }