sort by descending number of suspected transaction leaks in trace output
[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 import org.opendaylight.yangtools.concepts.Path;
13
14 public interface DataChange<P extends Path<P>, D> {
15
16     /**
17      * Returns a map of paths and newly created objects.
18      *
19      * @return map of paths and newly created objects
20      */
21     Map<P, D> getCreatedOperationalData();
22
23     /**
24      * Returns a map of paths and newly created objects.
25      *
26      * @return map of paths and newly created objects
27      */
28     Map<P, D> getCreatedConfigurationData();
29
30     /**
31      * Returns a map of paths and respective updated objects after update.
32      *
33      * <p>
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      * <p>
45      * Original state of the object is in
46      * {@link #getOriginalConfigurationData()}
47      *
48      * @return map of paths and newly created objects
49      */
50     Map<P, D> getUpdatedConfigurationData();
51
52
53
54     /**
55      * Returns a set of paths of removed objects.
56      *
57      * <p>
58      * Original state of the object is in
59      * {@link #getOriginalConfigurationData()}
60      *
61      * @return map of paths and newly created objects
62      */
63     Set<P> getRemovedConfigurationData();
64
65     /**
66      * Returns a set of paths of removed objects.
67      *
68      * <p>
69      * Original state of the object is in
70      * {@link #getOriginalOperationalData()}
71      *
72      * @return map of paths and newly created objects
73      */
74     Set<P> getRemovedOperationalData();
75
76     /**
77      * Return a map of paths and original state of updated and removed objectd.
78      *
79      * @return map of paths and original state of updated and removed objectd.
80      */
81     Map<P, D> getOriginalConfigurationData();
82
83     /**
84      * Return a map of paths and original state of updated and removed objectd.
85      *
86      * @return map of paths and original state of updated and removed objectd.
87      */
88     Map<P, D> getOriginalOperationalData();
89 }