| /* |
| ******************************************************************************** |
| * 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/ |
| ******************************************************************************** |
| |
| ModuleClass : Timer |
| |
| This ModuleClass provides capabilities to monitor and control the times when the appliance executes its operations, that means when it starts, when it ends etc. |
| |
| Created: 2018-06-29 17:19:54 |
| */ |
| |
| 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; |
| import org.eclipse.om2m.commons.resource.CustomAttribute; |
| |
| @XmlRootElement(name = TimerFlexContainer.SHORT_NAME, namespace = "http://www.onem2m.org/xml/protocols/homedomain") |
| @XmlAccessorType(XmlAccessType.FIELD) |
| @XmlType(name = TimerFlexContainer.SHORT_NAME, namespace = "http://www.onem2m.org/xml/protocols/homedomain") |
| public class TimerFlexContainer extends AbstractFlexContainer { |
| |
| public static final String LONG_NAME = "timer"; |
| public static final String SHORT_NAME = "timer"; |
| |
| public TimerFlexContainer () { |
| setContainerDefinition("org.onem2m.home.moduleclass." + TimerFlexContainer.LONG_NAME); |
| setLongName(LONG_NAME); |
| setShortName(SHORT_NAME); |
| CustomAttribute absoluteStartTime = new CustomAttribute(); |
| absoluteStartTime.setLongName("absoluteStartTime"); |
| absoluteStartTime.setShortName("abSTe"); |
| absoluteStartTime.setType("xs:datetime"); |
| getCustomAttributes().add(absoluteStartTime); |
| CustomAttribute targetTimeToStop = new CustomAttribute(); |
| targetTimeToStop.setLongName("targetTimeToStop"); |
| targetTimeToStop.setShortName("tTTSp"); |
| targetTimeToStop.setType("xs:integer"); |
| getCustomAttributes().add(targetTimeToStop); |
| CustomAttribute estimatedTimeToEnd = new CustomAttribute(); |
| estimatedTimeToEnd.setLongName("estimatedTimeToEnd"); |
| estimatedTimeToEnd.setShortName("eTTEd"); |
| estimatedTimeToEnd.setType("xs:integer"); |
| getCustomAttributes().add(estimatedTimeToEnd); |
| CustomAttribute absoluteStopTime = new CustomAttribute(); |
| absoluteStopTime.setLongName("absoluteStopTime"); |
| absoluteStopTime.setShortName("abST0"); |
| absoluteStopTime.setType("xs:datetime"); |
| getCustomAttributes().add(absoluteStopTime); |
| CustomAttribute targetTimeToStart = new CustomAttribute(); |
| targetTimeToStart.setLongName("targetTimeToStart"); |
| targetTimeToStart.setShortName("tTTSt"); |
| targetTimeToStart.setType("xs:integer"); |
| getCustomAttributes().add(targetTimeToStart); |
| CustomAttribute referenceTimer = new CustomAttribute(); |
| referenceTimer.setLongName("referenceTimer"); |
| referenceTimer.setShortName("refTr"); |
| referenceTimer.setType("xs:integer"); |
| getCustomAttributes().add(referenceTimer); |
| CustomAttribute targetDuration = new CustomAttribute(); |
| targetDuration.setLongName("targetDuration"); |
| targetDuration.setShortName("tarDn"); |
| targetDuration.setType("xs:integer"); |
| getCustomAttributes().add(targetDuration); |
| CustomAttribute runningTime = new CustomAttribute(); |
| runningTime.setLongName("runningTime"); |
| runningTime.setShortName("runTe"); |
| runningTime.setType("xs:integer"); |
| getCustomAttributes().add(runningTime); |
| } |
| |
| |
| @XmlElement(name=ActivateClockTimerFlexContainer.SHORT_NAME, required=true, type=ActivateClockTimerFlexContainer.class, namespace="http://www.onem2m.org/xml/protocols/homedomain") |
| private ActivateClockTimerFlexContainer activateClockTimer; |
| |
| public ActivateClockTimerFlexContainer getActivateClockTimer() { |
| this.activateClockTimer = (ActivateClockTimerFlexContainer) getResourceByName(ActivateClockTimerFlexContainer.SHORT_NAME); |
| return activateClockTimer; |
| } |
| |
| public void setActivateClockTimer(ActivateClockTimerFlexContainer newAction) { |
| this.activateClockTimer = newAction; |
| getFlexContainerOrContainerOrSubscription().add(activateClockTimer); |
| } |
| |
| @XmlElement(name=DeactivateClockTimerFlexContainer.SHORT_NAME, required=true, type=DeactivateClockTimerFlexContainer.class, namespace="http://www.onem2m.org/xml/protocols/homedomain") |
| private DeactivateClockTimerFlexContainer deactivateClockTimer; |
| |
| public DeactivateClockTimerFlexContainer getDeactivateClockTimer() { |
| this.deactivateClockTimer = (DeactivateClockTimerFlexContainer) getResourceByName(DeactivateClockTimerFlexContainer.SHORT_NAME); |
| return deactivateClockTimer; |
| } |
| |
| public void setDeactivateClockTimer(DeactivateClockTimerFlexContainer newAction) { |
| this.deactivateClockTimer = newAction; |
| getFlexContainerOrContainerOrSubscription().add(deactivateClockTimer); |
| } |
| |
| public void finalizeSerialization() { |
| getActivateClockTimer(); |
| getDeactivateClockTimer(); |
| } |
| |
| public void finalizeDeserialization() { |
| if (this.activateClockTimer != null) { |
| setActivateClockTimer(this.activateClockTimer); |
| } |
| if (this.deactivateClockTimer != null) { |
| setDeactivateClockTimer(this.deactivateClockTimer); |
| } |
| } |
| |
| } |