Java tutorial
/******************************************************************************* * Copyright 2007-2014 FZI, http://www.fzi.de * Forschungszentrum Informatik - Information Process Engineering (IPE) * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * @author tzentek - <a href="mailto:zentek@fzi.de">Tom Zentek</a> * @author cyumusak - <a href="mailto:canyumusak@gmail.com">Can Yumusak</a> ******************************************************************************/ package de.fzi.fhemapi.view.vaadin.ui.devicepanels; import java.util.LinkedList; import java.util.List; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import de.fzi.fhemapi.model.devicetypes.Device; import de.fzi.fhemapi.model.devicetypes.OnOffActuator; import de.fzi.fhemapi.view.vaadin.ui.DeviceDetailsPanel; import de.fzi.fhemapi.view.vaadin.ui.model.DeviceDetailEntry; /** * Shows the OnOffDetails of OnOffActuators * @author Can Yumusak * */ public class OnOffDetails extends DeviceDetailsAbst { public OnOffDetails(Device device, DeviceDetailsPanel parent) { super(device, parent); } @Override public List<DeviceDetailEntry> getDeviceDetails() { List<DeviceDetailEntry> entries = new LinkedList<DeviceDetailEntry>(); final Button switchButton = new Button(); switchButton.setImmediate(true); String buttonLabel = "?"; if (((OnOffActuator) device).state != null) buttonLabel = ((OnOffActuator) device).state ? "An" : "Aus"; switchButton.setCaption(buttonLabel); switchButton.addListener(new Button.ClickListener() { public void buttonClick(ClickEvent event) { if (((OnOffActuator) device).state) { ((OnOffActuator) device).turnOff(); } else { ((OnOffActuator) device).turnOn(); } String buttonLabel = "?"; if (((OnOffActuator) device).state != null) buttonLabel = ((OnOffActuator) device).state ? "An" : "Aus"; switchButton.setCaption(buttonLabel); parent.reloadPage(); } }); entries.add(new DeviceDetailEntry("Schalten", switchButton)); return entries; } @Override public boolean matchesDevice() { boolean bla = getDevice().derivesFromClass(OnOffActuator.class); return bla; } }