blob: ff96fe39602a892dd102268e2f1bea1ace285fa3 [file] [log] [blame]
/*
********************************************************************************
* Copyright (c) 2014, 2018 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/
********************************************************************************
Device : DeviceThermostat
A thermostat is used to control the ambient temperature of rooms within, for example, a house. This information model provides capabilities to interact with specific functions of thermostats.
Created: 2018-06-29 17:19:55
*/
package org.eclipse.om2m.commons.resource.flexcontainerspec;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.eclipse.om2m.commons.resource.AbstractFlexContainer;
@XmlRootElement(name = DeviceThermostatFlexContainer.SHORT_NAME, namespace = "http://www.onem2m.org/xml/protocols/homedomain")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = DeviceThermostatFlexContainer.SHORT_NAME, namespace = "http://www.onem2m.org/xml/protocols/homedomain")
public class DeviceThermostatFlexContainer extends AbstractFlexContainer {
public static final String LONG_NAME = "deviceThermostat";
public static final String SHORT_NAME = "devTt";
public DeviceThermostatFlexContainer () {
setContainerDefinition("org.onem2m.home.device." + DeviceThermostatFlexContainer.LONG_NAME);
setLongName(LONG_NAME);
setShortName(SHORT_NAME);
}
public void finalizeSerialization() {
getRunState();
getTimer();
getTemperature();
}
public void finalizeDeserialization() {
if (this.runState != null) {
setRunState(this.runState);
}
if (this.timer != null) {
setTimer(this.timer);
}
if (this.temperature != null) {
setTemperature(this.temperature);
}
}
@XmlElement(name=RunStateFlexContainer.SHORT_NAME, required=true, type=RunStateFlexContainer.class, namespace="http://www.onem2m.org/xml/protocols/homedomain")
private RunStateFlexContainer runState;
public void setRunState(RunStateFlexContainer runState) {
this.runState = runState;
getFlexContainerOrContainerOrSubscription().add(runState);
}
public RunStateFlexContainer getRunState() {
this.runState = (RunStateFlexContainer) getResourceByName(RunStateFlexContainer.SHORT_NAME);
return runState;
}
@XmlElement(name=TimerFlexContainer.SHORT_NAME, required=true, type=TimerFlexContainer.class, namespace="http://www.onem2m.org/xml/protocols/homedomain")
private TimerFlexContainer timer;
public void setTimer(TimerFlexContainer timer) {
this.timer = timer;
getFlexContainerOrContainerOrSubscription().add(timer);
}
public TimerFlexContainer getTimer() {
this.timer = (TimerFlexContainer) getResourceByName(TimerFlexContainer.SHORT_NAME);
return timer;
}
@XmlElement(name=TemperatureFlexContainer.SHORT_NAME, required=true, type=TemperatureFlexContainer.class, namespace="http://www.onem2m.org/xml/protocols/homedomain")
private TemperatureFlexContainer temperature;
public void setTemperature(TemperatureFlexContainer temperature) {
this.temperature = temperature;
getFlexContainerOrContainerOrSubscription().add(temperature);
}
public TemperatureFlexContainer getTemperature() {
this.temperature = (TemperatureFlexContainer) getResourceByName(TemperatureFlexContainer.SHORT_NAME);
return temperature;
}
}