/**
* Copyright (c) 2014-2017 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.eclipse.smarthome.core.library;
import org.eclipse.smarthome.core.items.GenericItem;
import org.eclipse.smarthome.core.items.ItemFactory;
import org.eclipse.smarthome.core.library.items.CallItem;
import org.eclipse.smarthome.core.library.items.ColorItem;
import org.eclipse.smarthome.core.library.items.ContactItem;
import org.eclipse.smarthome.core.library.items.DateTimeItem;
import org.eclipse.smarthome.core.library.items.DimmerItem;
import org.eclipse.smarthome.core.library.items.ImageItem;
import org.eclipse.smarthome.core.library.items.LocationItem;
import org.eclipse.smarthome.core.library.items.NumberItem;
import org.eclipse.smarthome.core.library.items.PlayerItem;
import org.eclipse.smarthome.core.library.items.RollershutterItem;
import org.eclipse.smarthome.core.library.items.StringItem;
import org.eclipse.smarthome.core.library.items.SwitchItem;
/**
* {@link CoreItemFactory}-Implementation for the core ItemTypes
*
* @author Thomas.Eichstaedt-Engelen
* @author Kai Kreuzer
*/
public class CoreItemFactory implements ItemFactory {
public static final String SWITCH = "Switch";
public static final String ROLLERSHUTTER = "Rollershutter";
public static final String CONTACT = "Contact";
public static final String STRING = "String";
public static final String NUMBER = "Number";
public static final String DIMMER = "Dimmer";
public static final String DATETIME = "DateTime";
public static final String COLOR = "Color";
public static final String IMAGE = "Image";
public static final String PLAYER = "Player";
public static final String LOCATION = "Location";
public static final String CALL = "Call";
/**
* @{inheritDoc
*/
@Override
public GenericItem createItem(String itemTypeName, String itemName) {
if (itemTypeName.equals(SWITCH)) {
return new SwitchItem(itemName);
}
if (itemTypeName.equals(ROLLERSHUTTER)) {
return new RollershutterItem(itemName);
}
if (itemTypeName.equals(CONTACT)) {
return new ContactItem(itemName);
}
if (itemTypeName.equals(STRING)) {
return new StringItem(itemName);
}
if (itemTypeName.equals(NUMBER)) {
return new NumberItem(itemName);
}
if (itemTypeName.equals(DIMMER)) {
return new DimmerItem(itemName);
}
if (itemTypeName.equals(DATETIME)) {
return new DateTimeItem(itemName);
}
if (itemTypeName.equals(COLOR)) {
return new ColorItem(itemName);
}
if (itemTypeName.equals(IMAGE)) {
return new ImageItem(itemName);
}
if (itemTypeName.equals(PLAYER)) {
return new PlayerItem(itemName);
}
if (itemTypeName.equals(LOCATION)) {
return new LocationItem(itemName);
}
if (itemTypeName.equals(CALL)) {
return new CallItem(itemName);
} else {
return null;
}
}
/**
* @{inheritDoc
*/
@Override
public String[] getSupportedItemTypes() {
return new String[] { SWITCH, ROLLERSHUTTER, CONTACT, STRING, NUMBER, DIMMER, DATETIME, COLOR, IMAGE, PLAYER,
LOCATION, CALL };
}
}