2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.mdsal.dom.spi.store;
10 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
11 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
13 public interface DOMStoreWriteTransaction extends DOMStoreTransaction {
16 * Store a provided data at specified path. This acts as a add / replace operation, which is to
17 * say that whole subtree will be replaced by specified path.
20 * If you need add or merge of current object with specified use
21 * {@link #merge(YangInstanceIdentifier, NormalizedNode)}
23 * @param path YangInstanceIdentifier object to be written
24 * @param data Data object to be written
25 * @throws IllegalStateException if the client code already sealed transaction and invoked
28 void write(YangInstanceIdentifier path, NormalizedNode data);
31 * Store a provided data at specified path. This acts as a add / replace operation, which is to
32 * say that whole subtree will be replaced by specified path.
35 * If you need add or merge of current object with specified use
36 * {@link #merge(YangInstanceIdentifier, NormalizedNode)}
38 * @param path YangInstanceIdentifier object to be merged
39 * @param data Data object to be written
40 * @throws IllegalStateException if the client code already sealed transaction and invoked
43 void merge(YangInstanceIdentifier path, NormalizedNode data);
46 * Deletes data and whole subtree located at provided path.
50 * @throws IllegalStateException
51 * if the client code already sealed transaction and invoked
54 void delete(YangInstanceIdentifier path);
57 * Seals transaction, and returns three-phase commit cohort associated
58 * with this transaction and DOM Store to be coordinated by coordinator.
60 * @return Three Phase Commit Cohort instance for this transaction.
62 DOMStoreThreePhaseCommitCohort ready();