Fixed bug when Binding-Aware Data Change Listeners we're not triggered.
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / service / DataChangeEventImpl.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.common.impl.service;
9
10 import java.util.Map;
11 import java.util.Set;
12
13 import org.opendaylight.controller.md.sal.common.api.data.DataChange;
14 import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent;
15 import org.opendaylight.yangtools.concepts.Immutable;
16 import org.opendaylight.yangtools.concepts.Path;
17
18 public class DataChangeEventImpl<P extends Path<P>, D> implements DataChangeEvent<P, D>, Immutable {
19
20     private final DataChange<P, D> dataChange;
21
22     private final D originalConfigurationSubtree;
23
24
25     private final D originalOperationalSubtree;
26     private final D updatedOperationalSubtree;
27     private final D updatedConfigurationSubtree;
28
29     
30     
31     
32     public DataChangeEventImpl(DataChange<P, D> dataChange, D originalConfigurationSubtree,
33             D originalOperationalSubtree, D updatedOperationalSubtree, D updatedConfigurationSubtree) {
34         super();
35         this.dataChange = dataChange;
36         this.originalConfigurationSubtree = originalConfigurationSubtree;
37         this.originalOperationalSubtree = originalOperationalSubtree;
38         this.updatedOperationalSubtree = updatedOperationalSubtree;
39         this.updatedConfigurationSubtree = updatedConfigurationSubtree;
40     }
41
42     @Override
43     public D getOriginalConfigurationSubtree() {
44         return originalConfigurationSubtree;
45     }
46
47     @Override
48     public D getOriginalOperationalSubtree() {
49         return originalOperationalSubtree;
50     }
51
52     @Override
53     public D getUpdatedOperationalSubtree() {
54         return updatedOperationalSubtree;
55     }
56
57     @Override
58     public D getUpdatedConfigurationSubtree() {
59         return updatedConfigurationSubtree;
60     }
61
62     public Map<P, D> getCreatedOperationalData() {
63         return dataChange.getCreatedOperationalData();
64     }
65
66     public Map<P, D> getCreatedConfigurationData() {
67         return dataChange.getCreatedConfigurationData();
68     }
69
70     public Map<P, D> getUpdatedOperationalData() {
71         return dataChange.getUpdatedOperationalData();
72     }
73
74     public Map<P, D> getUpdatedConfigurationData() {
75         return dataChange.getUpdatedConfigurationData();
76     }
77
78     public Set<P> getRemovedConfigurationData() {
79         return dataChange.getRemovedConfigurationData();
80     }
81
82     public Set<P> getRemovedOperationalData() {
83         return dataChange.getRemovedOperationalData();
84     }
85
86     public Map<P, D> getOriginalConfigurationData() {
87         return dataChange.getOriginalConfigurationData();
88     }
89
90     public Map<P, D> getOriginalOperationalData() {
91         return dataChange.getOriginalOperationalData();
92     }
93
94 }