当前位置: 首页>>代码示例>>Java>>正文


Java Item.getClass方法代码示例

本文整理汇总了Java中org.openhab.core.items.Item.getClass方法的典型用法代码示例。如果您正苦于以下问题:Java Item.getClass方法的具体用法?Java Item.getClass怎么用?Java Item.getClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.openhab.core.items.Item的用法示例。


在下文中一共展示了Item.getClass方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig)
        throws BindingConfigParseException {
    super.processBindingConfiguration(context, item, bindingConfig);

    if (bindingConfig != null) {
        MegaDeviceBindingConfig config = new MegaDeviceBindingConfig();
        config.itemType = item.getClass();
        String[] configParts = bindingConfig.trim().split(":");
        // if(item instanceof SwitchItem){
        config.password = configParts.length > 0 ? configParts[0] : "NO_Pass";
        config.ip = configParts.length > 1 ? configParts[1] : "NO_IP";
        config.port = configParts.length > 2 ? configParts[2] : "NO_PORT";
        config.pollinterval = configParts.length > 3 ? Integer.parseInt(configParts[3]) : 0;

        // logger.debug("binding item:" + item +". It has " + config.itemType.getName()+ " class and " +
        // config.password + " password " +config.ip+ " ip " +config.port+ "port");

        // } //else if (item instanceof NumberItem) {
        addBindingConfig(item, config);
    } else {
        logger.warn("bindingConfig is NULL (item=" + item + ") -> process bindingConfig aborted!");
    }
}
 
开发者ID:Pshatsillo,项目名称:openHABMegaDevice,代码行数:28,代码来源:MegaDeviceGenericBindingProvider.java

示例2: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig)
		throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);

	final String[] configParts = bindingConfig.trim().split(":");
	if (configParts.length != 2) {
		throw new BindingConfigParseException(
				"FrontierSiliconRadio configuration must contain of two parts separated by a ':'");
	}

	final String deviceId = configParts[0];
	final String property = configParts[1];
	final Class<? extends Item> itemType = item.getClass();
	final FrontierSiliconRadioBindingConfig config = new FrontierSiliconRadioBindingConfig(deviceId, property,
			itemType);

	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:20,代码来源:FrontierSiliconRadioGenericBindingProvider.java

示例3: createOneWireDeviceProperty

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * @param pvItem
 * @param pvBindingConfig
 * @return a new BindingConfig, corresponding to the given <code><pvItem/code> and <code><pvBindingConfig/code>
 * @throws BindingConfigParseException
 */
public static OneWireBindingConfig createOneWireDeviceProperty(Item pvItem, String pvBindingConfig) throws BindingConfigParseException {
	logger.debug("createOneWireDeviceProperty: " + pvItem.getName() + " - bindingConfig:" + pvBindingConfig);

	OneWireBindingConfig lvNewBindingConfig = null;
	if (OneWireClearCacheControlBindingConfig.isBindingConfigToCreate(pvItem, pvBindingConfig)) {
		lvNewBindingConfig = new OneWireClearCacheControlBindingConfig(pvBindingConfig);
	} else if (OneWireDevicePropertySwitchMinMaxNumberWarningBindingConfig.isBindingConfigToCreate(pvItem, pvBindingConfig)) {
		lvNewBindingConfig = new OneWireDevicePropertySwitchMinMaxNumberWarningBindingConfig(pvBindingConfig);
	} else if (pvItem instanceof NumberItem) {
		lvNewBindingConfig = new OneWireDevicePropertyNumberBindingConfig(pvBindingConfig);
	} else if (pvItem instanceof ContactItem) {
		lvNewBindingConfig = new OneWireDevicePropertyContactBindingConfig(pvBindingConfig);
	} else if (pvItem instanceof SwitchItem) {
		lvNewBindingConfig = new OneWireDevicePropertySwitchBindingConfig(pvBindingConfig);
	} else if (pvItem instanceof StringItem) {
		lvNewBindingConfig = new OneWireDevicePropertyStringBindingConfig(pvBindingConfig);
	} else {
		throw new UnsupportedOperationException("the item-type " + pvItem.getClass() + " cannot be a onewire device");
	}

	logger.debug("created newBindingConfig: " + lvNewBindingConfig.toString());

	return lvNewBindingConfig;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:31,代码来源:OneWireBindingConfigFactory.java

示例4: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig) throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);

	EHealthBindingConfig config = new EHealthBindingConfig();

	EHealthSensorPropertyName propertyName;
	try {
		propertyName = EHealthSensorPropertyName.getPropertyName(bindingConfig.trim());
	} catch (Exception e) {
		throw new BindingConfigParseException("Invalid sensor property name '" + bindingConfig + "' > please fix your *.items accordingly!");
	}
	
	config.itemType = item.getClass();
	config.sensorPropertyName = propertyName;

	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:22,代码来源:EHealthGenericBindingProvider.java

示例5: resolveDataTypeFromItemType

import org.openhab.core.items.Item; //导入方法依赖的package包/类
SimaticTypes resolveDataTypeFromItemType(Item item, String address) throws BindingConfigParseException {
    Class<? extends Item> itemType = item.getClass();

    if (itemType.isAssignableFrom(NumberItem.class)) {
        switch (SimaticPLCAddress.create(address).dataType) {
            case DWORD:
                return SimaticTypes.DWORD;
            case WORD:
                return SimaticTypes.WORD;
            default:
                return SimaticTypes.BYTE;
        }
    } else if (itemType.isAssignableFrom(SwitchItem.class)) {
        return SimaticTypes.BYTE;
    } else if (itemType.isAssignableFrom(DimmerItem.class)) {
        return SimaticTypes.BYTE;
    } else if (itemType.isAssignableFrom(ColorItem.class)) {
        logger.warn("Item %s has not specified datatype. Setted to RGB.", item.getName());
        return SimaticTypes.RGB;
    } else if (itemType.isAssignableFrom(StringItem.class)) {
        logger.warn("Item %s has not specified datatype with length. Setted to ARRAY with length 32.",
                item.getName());
        return SimaticTypes.ARRAY;
    } else if (itemType.isAssignableFrom(ContactItem.class)) {
        return SimaticTypes.BYTE;
    } else if (itemType.isAssignableFrom(RollershutterItem.class)) {
        return SimaticTypes.WORD;
    } else {
        throw new BindingConfigParseException("Unsupported item type: " + item);
    }
}
 
开发者ID:docbender,项目名称:openHAB-Simatic,代码行数:32,代码来源:SimaticGenericBindingProvider.java

示例6: validateItemType

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * @{inheritDoc}
 */
@Override
public void validateItemType(Item item, String bindingConfig) throws BindingConfigParseException {
	DaikinBindingConfig config = new DaikinBindingConfig(item.getName(), bindingConfig);
	if (item.getClass() != config.getCommandType().getSupportedItemType()) {
		throw new BindingConfigParseException("Item '" + item.getName()
				+ "' is of type '" + item.getClass().getSimpleName()
				+ "', only '" + config.getCommandType().getSupportedItemType().getSimpleName() 
				+ "' are allowed for command '" + config.getCommandType().toString() 
				+ "' - please check your *.items configuration");			
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:15,代码来源:DaikinGenericBindingProvider.java

示例7: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig) throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);
	
	String[] configParts = bindingConfig.trim().split(":", 2);
	
	String command = configParts[0];
	
	String argument = null;
	
	if(configParts.length > 1)
		argument  = configParts[1];
	
	FreeswitchBindingType type = FreeswitchBindingType.fromString(command);
	
	if(type == null)
		throw new BindingConfigParseException("Unknown item type " + configParts[0] );
	
	FreeswitchBindingConfig config = new FreeswitchBindingConfig(item.getName(),item.getClass(), type, argument);
	
	addBindingConfig(item, config);
	
	Set<Item> items = contextMap.get(context);
	if (items == null) {
		items = new HashSet<Item>();
		contextMap.put(context, items);
	}
	items.add(item);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:33,代码来源:FreeswitchGenericBindingProvider.java

示例8: validateItemType

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * @{inheritDoc}
 */
@Override
public void validateItemType(Item item, String bindingConfig) throws BindingConfigParseException {
	if (item.getClass() == SwitchItem.class)
		return;
	if (item.getClass() == ContactItem.class)
		return;
	if (item.getClass() == NumberItem.class)
		return;

	throw new BindingConfigParseException("item '" + item.getName()
			+ "' is of type '" + item.getClass().getSimpleName()
			+ "', only Switch, Contact or Number are allowed - please check your *.items configuration");
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:17,代码来源:ModbusGenericBindingProvider.java

示例9: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
@Override
public void processBindingConfiguration(String context, Item item,
		String bindingConfig) throws BindingConfigParseException {
	String bindingConfigLc = bindingConfig.toLowerCase();
	
	super.processBindingConfiguration(context, item, bindingConfigLc);

	if (bindingConfigLc != null) {
		String address 		  = getAddress(bindingConfigLc);
		String transmitMethod = getTransmitMethod(bindingConfigLc);
		String dimMethod      = getDimMethod(bindingConfigLc);
		
		if (address != null) {
			if (transmitMethod == null) transmitMethod = "pl";
			if (dimMethod == null) dimMethod = "xdim";

			BindingConfig mochadX10BindingConfig = (BindingConfig) new MochadX10BindingConfig(item.getName(), item.getClass(), transmitMethod, dimMethod, address);

			addBindingConfig(item, mochadX10BindingConfig);
		}
		else {
			throw new BindingConfigParseException("No address specified, bindingConfig is invalid (item=" + item
					+ ") -> processing bindingConfig aborted!");
		}
	} else {
		throw new BindingConfigParseException("No binding config specified (item=" + item
				+ ") -> processing bindingConfig aborted!");
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:30,代码来源:MochadX10GenericBindingProvider.java

示例10: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item,
		String bindingConfig) throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);
	EKeyBindingConfig config = new EKeyBindingConfig();
	
	if(bindingConfig==null)
		throw new BindingConfigParseException(
				"Your binding configuration is illegal!\n"
						+ "Possible values are: ACTION, USERNAME, USERID, TERMINALID, TERMINALNAME, "
						+ "FINGERID, KEYID, INPUTID, RELAISID, MODE\nExample: {ekey=\"ACTION\"}");
	
	config.itemType = item.getClass();

	// format the passed config parameter
	String value = bindingConfig.trim().toUpperCase();

	try { // try to convert the parameter to one of the predefined enum
			// types
		config.interestedIn = EKeyBindingConfig.InterestType.getType(value);
	} catch (Exception e) { // throw exception - parameter was illegal
		throw new BindingConfigParseException(
				"eKey does not know the configuration value "
						+ "'"
						+ value
						+ "' that you passed in the item binding configuration!\n"
						+ "Possible values are: ACTION, USERNAME, USERID, TERMINALID, TERMINALNAME, "
						+ "FINGERID, KEYID, INPUTID, RELAISID, MODE\nExample: {ekey=\"ACTION\"}");
	}

	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:36,代码来源:EKeyGenericBindingProvider.java

示例11: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig) throws BindingConfigParseException {
	PulseaudioBindingConfig config = new PulseaudioBindingConfig();
	String[] configParts = bindingConfig.split(":");
	if (item instanceof StringItem) {
		if (configParts.length != 1 && configParts.length!=3) {
			throw new BindingConfigParseException(
					"Pulseaudio binding configuration for StringItems must consist of one or three part [config="
							+ configParts + "]");
		}
		config.serverId = StringUtils.trim(configParts[0]);
		config.itemType = item.getClass();
									
		addBindingConfig(item, config);
		return;
	}
	else if (configParts.length < 2 || configParts.length>3) {
		throw new BindingConfigParseException(
				"Pulseaudio binding configuration must consist of two or three parts [config="
						+ configParts + "]");
	}

	config.serverId = StringUtils.trim(configParts[0]);
	config.itemName = StringUtils.trim(configParts[1]);
	if (configParts.length==3) {
		config.command = StringUtils.trim(configParts[2]);
	}
	config.itemType = item.getClass();
								
	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:35,代码来源:PulseaudioGenericBindingProvider.java

示例12: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig)
		throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);

	LgtvBindingConfig config = new LgtvBindingConfig();
	config.itemType = item.getClass();
	parseBindingConfig(bindingConfig, config);
	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:14,代码来源:LgtvGenericBindingProvider.java

示例13: processBindingConfiguration

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig) throws BindingConfigParseException {
	super.processBindingConfiguration(context, item, bindingConfig);
	
	PioneerAvrBindingConfig config = new PioneerAvrBindingConfig();
	config.itemType = item.getClass();
	parseBindingConfig(bindingConfig, config);
	addBindingConfig(item, config);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:13,代码来源:PioneerAvrGenericBindingProvider.java

示例14: parseBindingConfig

import org.openhab.core.items.Item; //导入方法依赖的package包/类
/**
 * Delegates parsing the <code>bindingConfig</code> with respect to the
 * first character (<code>&lt;</code> or <code>&gt;</code>) to the 
 * specialized parsing methods
 * 
 * @param item
 * @param bindingConfig
 * 
 * @throws BindingConfigParseException
 */
protected OWServerBindingConfig parseBindingConfig(Item item, String bindingConfig) throws BindingConfigParseException {
	
	OWServerBindingConfig config = new OWServerBindingConfig();
	config.itemType = item.getClass();
	
	Matcher matcher = BASE_CONFIG_PATTERN.matcher(bindingConfig);
	
	if (!matcher.matches()) {
		throw new BindingConfigParseException("bindingConfig '" + bindingConfig + "' doesn't contain a valid binding configuration");
	}
	matcher.reset();
			
	while (matcher.find()) {
		String direction = matcher.group(1);
		String bindingConfigPart = matcher.group(2);
		
		if (direction.equals("<")) {
			config = parseInBindingConfig(item, bindingConfigPart, config);
		}
		else if (direction.equals(">")) {
			// for future use
		}
		else {
			throw new BindingConfigParseException("Unknown command given! Configuration must start with '<' or '>' ");
		}
	}
	
	return config;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:40,代码来源:OWServerGenericBindingProvider.java

示例15: getItemType

import org.openhab.core.items.Item; //导入方法依赖的package包/类
private Class<? extends Item> getItemType(String itemName) {
	try {
		Item item = itemRegistry.getItem(itemName);
		return item.getClass();
	} catch (ItemNotFoundException e) {
		return null;
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:9,代码来源:ItemUIRegistryImpl.java


注:本文中的org.openhab.core.items.Item.getClass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。