Fixed discard-changes for mdsal netconf, mapping code cleanup.
[controller.git] / opendaylight / md-sal / statistics-manager / src / main / java / org / opendaylight / controller / md / statistics / manager / StatNodeRegistration.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
9 package org.opendaylight.controller.md.statistics.manager;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SwitchFeatures;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.OpendaylightInventoryListener;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
15
16 /**
17  * statistics-manager
18  * org.opendaylight.controller.md.statistics.manager.impl
19  *
20  * StatNodeRegistration
21  * Class represents {@link org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode}
22  * {@link org.opendaylight.controller.md.sal.binding.api.DataChangeListener} in Operational/DataStore for ADD / REMOVE
23  * actions which are represented connect / disconnect OF actions. Connect functionality are expecting
24  *
25  * @author <a href="mailto:vdemcak@cisco.com">Vaclav Demcak</a>
26  *
27  * Created: Sep 5, 2014
28  */
29 public interface StatNodeRegistration extends OpendaylightInventoryListener, AutoCloseable {
30
31     /**
32      * Method contains {@link org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode} registration to {@link StatisticsManager}
33      * for permanently collecting statistics by {@link StatPermCollector} and
34      * as a prevention to use a validation check to the Operational/DS for identify
35      * connected {@link org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode}.
36      *
37      * @param InstanceIdentifier<SwitchFeatures> keyIdent
38      * @param FlowCapableNode data
39      * @param InstanceIdentifier<Node> nodeIdent
40      */
41     void connectFlowCapableNode(InstanceIdentifier<SwitchFeatures> keyIdent,
42             SwitchFeatures data, InstanceIdentifier<Node> nodeIdent);
43
44     /**
45      * Method cut {@link Node} registration for {@link StatPermCollector}
46      *
47      * @param InstanceIdentifier<Node> keyIdent
48      */
49     void disconnectFlowCapableNode(InstanceIdentifier<Node> keyIdent);
50 }