2 * Copyright (c) 2013 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.controller.md.sal.common.api.data;
13 // FIXME: After 0.6 Release of YANGTools refactor to use Path marker interface for arguments.
14 // import org.opendaylight.yangtools.concepts.Path;
16 public interface DataChange<P/* extends Path<P> */, D> {
19 * Returns a map of paths and newly created objects
21 * @return map of paths and newly created objects
23 Map<P, D> getCreatedOperationalData();
26 * Returns a map of paths and newly created objects
28 * @return map of paths and newly created objects
30 Map<P, D> getCreatedConfigurationData();
33 * Returns a map of paths and respective updated objects after update.
35 * Original state of the object is in
36 * {@link #getOriginalOperationalData()}
38 * @return map of paths and newly created objects
40 Map<P, D> getUpdatedOperationalData();
43 * Returns a map of paths and respective updated objects after update.
45 * Original state of the object is in
46 * {@link #getOriginalConfigurationData()}
48 * @return map of paths and newly created objects
50 Map<P, D> getUpdatedConfigurationData();
53 * Returns a set of paths of removed objects.
55 * Original state of the object is in
56 * {@link #getOriginalConfigurationData()}
58 * @return map of paths and newly created objects
60 Set<P> getRemovedConfigurationData();
63 * Returns a set of paths of removed objects.
65 * Original state of the object is in
66 * {@link #getOriginalOperationalData()}
68 * @return map of paths and newly created objects
70 Set<P> getRemovedOperationalData();
73 * Return a map of paths and original state of updated and removed objectd.
75 * @return map of paths and original state of updated and removed objectd.
77 Map<P, D> getOriginalConfigurationData();
80 * Return a map of paths and original state of updated and removed objectd.
82 * @return map of paths and original state of updated and removed objectd.
84 Map<P, D> getOriginalOperationalData();
87 * Returns a original subtree of data, which starts at the path
88 * where listener was registered.
91 D getOriginalConfigurationSubtree();
94 * Returns a original subtree of data, which starts at the path
95 * where listener was registered.
98 D getOriginalOperationalSubtree();
101 * Returns a new subtree of data, which starts at the path
102 * where listener was registered.
105 D getUpdatedConfigurationSubtree();
108 * Returns a new subtree of data, which starts at the path
109 * where listener was registered.
112 D getUpdatedOperationalSubtree();