/** * Copyright 2011-2013 Universite Joseph Fourier, LIG, ADELE team * 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. * * BinaryLightImpl.java - 2 juil. 2013 */ package fr.imag.adele.apam.tutorials.lights.binarylight; import fr.imag.adele.apam.tutorials.lights.devices.BinaryLight; import fr.imag.adele.apam.tutorials.lights.devices.messages.LightStatusChanged; /** * @author thibaud * */ public class BinaryLightImpl implements BinaryLight { protected boolean currentStatus; private String myLocation; private String myName; /** * @param currentStatus */ public BinaryLightImpl(boolean currentStatus) { super(); this.currentStatus = currentStatus; } public void started() { System.out.println("A light named " + myName+" have been started in the "+myLocation); } public void stopped() { System.out.println("The light named "+myName+" have been stopped in the "+myLocation); } /* (non-Javadoc) * @see fr.imag.adele.apam.tutorials.lights.devices.BinaryLight#isLightOn() */ public boolean isLightOn() { return currentStatus; } /* (non-Javadoc) * @see fr.imag.adele.apam.tutorials.lights.devices.BinaryLight#setLightStatus(boolean) */ public void setLightStatus(boolean newStatus) { currentStatus=newStatus; fireLightStatus(); } /* (non-Javadoc) * @see fr.imag.adele.apam.tutorials.lights.devices.BinaryLight#switchLightStatus() */ public void switchLightStatus() { if(currentStatus) currentStatus=false; else currentStatus=true; fireLightStatus(); } public LightStatusChanged fireLightStatus() { System.out.println("BinaryLightImpl.fireLightStatus()"); return new LightStatusChanged(currentStatus); } public String getName() { return myName; } public String getLocation() { return myLocation; } }