ebffbcc811747307f2a3a67a7b83cb403d5757c2
[controller.git] / opendaylight / md-sal / sal-common-api / src / main / java / org / opendaylight / controller / md / sal / common / api / data / DataChange.java
1 /*
2  * Copyright (c) 2013 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.common.api.data;
9
10 import java.util.Map;
11 import java.util.Set;
12
13 import org.opendaylight.yangtools.concepts.Path;
14
15 public interface DataChange<P extends Path<P>, D> {
16
17     /**
18      * Returns a map of paths and newly created objects
19      *
20      * @return map of paths and newly created objects
21      */
22     Map<P, D> getCreatedOperationalData();
23
24     /**
25      * Returns a map of paths and newly created objects
26      *
27      * @return map of paths and newly created objects
28      */
29     Map<P, D> getCreatedConfigurationData();
30
31     /**
32      * Returns a map of paths and respective updated objects after update.
33      *
34      * Original state of the object is in
35      * {@link #getOriginalOperationalData()}
36      *
37      * @return map of paths and newly created objects
38      */
39     Map<P, D> getUpdatedOperationalData();
40
41     /**
42      * Returns a map of paths and respective updated objects after update.
43      *
44      * Original state of the object is in
45      * {@link #getOriginalConfigurationData()}
46      *
47      * @return map of paths and newly created objects
48      */
49     Map<P, D> getUpdatedConfigurationData();
50
51
52
53     /**
54      * Returns a set of paths of removed objects.
55      *
56      * Original state of the object is in
57      * {@link #getOriginalConfigurationData()}
58      *
59      * @return map of paths and newly created objects
60      */
61     Set<P> getRemovedConfigurationData();
62
63     /**
64      * Returns a set of paths of removed objects.
65      *
66      * Original state of the object is in
67      * {@link #getOriginalOperationalData()}
68      *
69      * @return map of paths and newly created objects
70      */
71     Set<P> getRemovedOperationalData();
72
73     /**
74      * Return a map of paths and original state of updated and removed objectd.
75      *
76      * @return map of paths and original state of updated and removed objectd.
77      */
78     Map<P, D> getOriginalConfigurationData();
79
80     /**
81      * Return a map of paths and original state of updated and removed objectd.
82      *
83      * @return map of paths and original state of updated and removed objectd.
84      */
85     Map<P, D> getOriginalOperationalData();
86 }