/** * Copyright (c) 2010-2016 by the respective copyright holders. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.openhab.binding.mios; import java.util.List; import org.openhab.core.binding.BindingProvider; import org.openhab.core.items.ItemRegistry; /** * openHAB Binding Provider interface for MiOS Devices. * * Defines how to get properties from a MiOS-specific binding configuration. * * @author Mark Clark * @since 1.6.0 */ public interface MiosBindingProvider extends BindingProvider { /** * Gets the MiOS Unit for the Item {@code itemName}. * * @param itemName * the name of the Item. * * @return the name of the MiOS Unit associated with the the Item {@code itemName} */ String getMiosUnitName(String itemName); /** * Gets the Binding property string for the Item {@code itemName}. * * @param itemName * the name of the Item. * * @return the property string component for the Binding on the Item {@code itemName} */ String getProperty(String itemName); public List<String> getItemNamesForProperty(String property); /** * Gets the ItemRegistry (catalog) used by this BindingProvider. * * The {@code ItemRegistry} is injected into the {@code MiosBindingProvider} through OSGi configuration. This method * provider read-only access to the {@code ItemRegistry}, which is the catalog of Items in use by this system. * * @return the ItemRegistry associated with this BindingProvider. */ public ItemRegistry getItemRegistry(); }