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
9 package org.opendaylight.controller.switchmanager.internal;
13 import org.opendaylight.controller.sal.core.Property;
14 import org.opendaylight.controller.sal.utils.Status;
17 * The class ControllerProperties is a global store
18 * for controller properties. Use this api to store/retrieve properties
19 * that are container independent.
21 * This is visible only to switch manager. Hence its a part of
22 * switch manager internal bundle.
24 public interface IControllerProperties {
27 * Return all the global properties of the controller
29 * @return map of {@link org.opendaylight.controller.sal.core.Property} such
30 * as {@link org.opendaylight.controller.sal.core.Description}
31 * and/or {@link org.opendaylight.controller.sal.core.Tier} etc.
33 public Map<String, Property> getControllerProperties();
36 * Return a specific property of the controller given the property name
39 * the property name specified by
40 * {@link org.opendaylight.controller.sal.core.Property} and its
42 * @return {@link org.opendaylight.controller.sal.core.Property}
44 public Property getControllerProperty(String propertyName);
47 * Set a specific property of the controller
50 * {@link org.opendaylight.controller.sal.core.Property}
53 public Status setControllerProperty(Property property);
56 * Remove a property of a node
59 * the property name specified by
60 * {@link org.opendaylight.controller.sal.core.Property} and its
62 * @return success or failed reason
64 public Status removeControllerProperty(String propertyName);