/******************************************************************************* | |
* Copyright (c) 2014, 2016 Orange. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License 2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-2.0/ | |
*******************************************************************************/ | |
package org.eclipse.om2m.sdt.home.devices; | |
import java.util.Collection; | |
import org.eclipse.om2m.sdt.Domain; | |
import org.eclipse.om2m.sdt.Module; | |
import org.eclipse.om2m.sdt.home.modules.BinarySwitch; | |
import org.eclipse.om2m.sdt.home.modules.Brewing; | |
import org.eclipse.om2m.sdt.home.modules.Clock; | |
import org.eclipse.om2m.sdt.home.modules.FaultDetection; | |
import org.eclipse.om2m.sdt.home.modules.Foaming; | |
import org.eclipse.om2m.sdt.home.modules.Grinder; | |
import org.eclipse.om2m.sdt.home.modules.KeepWarm; | |
import org.eclipse.om2m.sdt.home.modules.LiquidLevel; | |
import org.eclipse.om2m.sdt.home.modules.RunState; | |
import org.eclipse.om2m.sdt.home.types.DeviceType; | |
public class CoffeeMachine extends GenericDevice { | |
private FaultDetection faultDetection; | |
private RunState runState; | |
private Clock clock; | |
private Brewing brewing; | |
private LiquidLevel waterStatus; | |
private LiquidLevel milkStatus; | |
private LiquidLevel beansStatus; | |
private Grinder grinder; | |
private Foaming foamedMilk; | |
private LiquidLevel milkQuantity; | |
private KeepWarm keepWarm; | |
private BinarySwitch brewingSwitch; | |
public CoffeeMachine(final String id, final String serial, final Domain domain) { | |
super(id, serial, DeviceType.deviceCoffeeMachine, domain); | |
} | |
public void addModule(Module module) { | |
if (module instanceof FaultDetection) | |
addModule((FaultDetection)module); | |
else if (module instanceof RunState) | |
addModule((RunState)module); | |
else if (module instanceof Clock) | |
addModule((Clock)module); | |
else if (module instanceof Brewing) | |
addModule((Brewing)module); | |
else if (module instanceof LiquidLevel){ | |
Collection<String> col = module.getDataPointNames(); | |
if(col.contains("waterStatus")){ | |
addModuleWaterStatus((LiquidLevel)module); | |
} | |
if(col.contains("milkStatus")){ | |
addModuleMilkStatus((LiquidLevel)module); | |
} | |
if(col.contains("beansStatus")){ | |
addModuleBeansStatus((LiquidLevel)module); | |
} | |
if(col.contains("milkQuantity")){ | |
addModuleMilkQuantity((LiquidLevel)module); | |
} | |
} | |
else if (module instanceof Grinder) | |
addModule((Grinder)module); | |
else if (module instanceof Foaming) | |
addModule((Foaming)module); | |
else if(module instanceof KeepWarm) | |
addModule((KeepWarm)module); | |
else if(module instanceof BinarySwitch) | |
addModule((BinarySwitch)module); | |
else | |
super.addModule(module); | |
} | |
public void addModule(FaultDetection mod) { | |
this.faultDetection = mod; | |
super.addModule(faultDetection); | |
} | |
public void addModule(BinarySwitch mod){ | |
this.brewingSwitch = mod; | |
super.addModule(brewingSwitch); | |
} | |
public void addModule(KeepWarm mod){ | |
this.keepWarm = mod; | |
super.addModule(keepWarm); | |
} | |
public void addModule(RunState mod) { | |
this.runState = mod; | |
super.addModule(runState); | |
} | |
public void addModule(Clock mod) { | |
this.clock = mod; | |
super.addModule(clock); | |
} | |
public void addModule(Brewing mod) { | |
this.brewing = mod; | |
super.addModule(brewing); | |
} | |
public void addModule(Grinder mod) { | |
this.grinder = mod; | |
super.addModule(grinder); | |
} | |
public void addModule(Foaming mod) { | |
this.foamedMilk = mod; | |
super.addModule(foamedMilk); | |
} | |
public void addModuleWaterStatus(LiquidLevel mod) { | |
this.waterStatus = mod; | |
super.addModule(waterStatus); | |
} | |
public void addModuleMilkStatus(LiquidLevel mod) { | |
this.milkStatus = mod; | |
super.addModule(milkStatus); | |
} | |
public void addModuleBeansStatus(LiquidLevel mod) { | |
this.beansStatus = mod; | |
super.addModule(beansStatus); | |
} | |
public void addModuleMilkQuantity(LiquidLevel mod) { | |
this.milkQuantity = mod; | |
super.addModule(milkQuantity); | |
} | |
public FaultDetection getFaultDetection() { | |
return faultDetection; | |
} | |
public RunState getRunState() { | |
return runState; | |
} | |
public Clock getClock() { | |
return clock; | |
} | |
public Brewing getBrewing() { | |
return brewing; | |
} | |
public LiquidLevel getWaterStatus() { | |
return waterStatus; | |
} | |
public LiquidLevel getMilkStatus() { | |
return milkStatus; | |
} | |
public LiquidLevel getBeansStatus() { | |
return beansStatus; | |
} | |
public Grinder getGrinder() { | |
return grinder; | |
} | |
public Foaming getFoamedMilk() { | |
return foamedMilk; | |
} | |
public LiquidLevel getMilkQuantity() { | |
return milkQuantity; | |
} | |
public KeepWarm getKeepWarm() { | |
return keepWarm; | |
} | |
public void setKeepWarm(KeepWarm keepWarm) { | |
this.keepWarm = keepWarm; | |
} | |
public BinarySwitch getBrewingSwitch() { | |
return brewingSwitch; | |
} | |
public void setBrewingSwitch(BinarySwitch brewingSwitch) { | |
this.brewingSwitch = brewingSwitch; | |
} | |
} |