3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
5 * This program and the accompanying materials are made available under the
6 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * and is available at http://www.eclipse.org/legal/epl-v10.html
10 package org.opendaylight.controller.sal.inventory;
14 import java.util.concurrent.ConcurrentMap;
16 import org.opendaylight.controller.sal.core.Node;
17 import org.opendaylight.controller.sal.core.NodeConnector;
18 import org.opendaylight.controller.sal.core.Property;
21 * The Interface describes methods invoked from SAL toward the protocol plugin
22 * to solicit existing inventory data.
24 public interface IPluginInInventoryService {
26 * The method retrieves all the existing nodes and properties attached
28 * @return map of {@link org.opendaylight.controller.sal.core.Node} and {@link org.opendaylight.controller.sal.core.Property}
30 public ConcurrentMap<Node, Map<String, Property>> getNodeProps();
33 * The method retrieve all the existing nodeConnectors and their properties
35 * @param refresh true if it needs to solicit Openflow core; otherwise, retrieve from local cache.
36 * @return map of {@link org.opendaylight.controller.sal.core.NodeConnector} and {@link org.opendaylight.controller.sal.core.Property}
38 public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
42 * The method retrieves all the configured nodes that are not connected to
45 * @return Set of {@link org.opendaylight.controller.sal.core.Node}
47 public Set<Node> getConfiguredNotConnectedNodes();