All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.somda.sdc.biceps.model.participant.AlertSystemState Maven / Gradle / Ivy

Go to download

SDCri is a set of Java libraries that implements a network communication framework conforming with the IEEE 11073 SDC specifications. This project implements the model for IEEE 11073-10207.

The newest version!

package org.somda.sdc.biceps.model.participant;

import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.jetbrains.annotations.Nullable;
import org.jvnet.jaxb.lang.CopyStrategy;
import org.jvnet.jaxb.lang.CopyTo;
import org.jvnet.jaxb.lang.JAXBCopyStrategy;
import org.jvnet.jaxb.lang.JAXBToStringStrategy;
import org.jvnet.jaxb.lang.ToString;
import org.jvnet.jaxb.lang.ToStringStrategy;
import org.jvnet.jaxb.locator.ObjectLocator;
import org.jvnet.jaxb.locator.util.LocatorUtils;
import org.somda.sdc.common.model.TimestampAdapter;


/**
 * AlertSystemState contains the dynamic/volatile information of an ALERT SYSTEM. See pm:AlertSystemDescriptor for static information.
 * 
 * 

Java class for AlertSystemState complex type

. * *

The following schema fragment specifies the expected content contained within this class.

* *
{@code
 * 
 *   
 *     
 *       
 *         
 *       
 *       
 *       
 *       
 *       
 *     
 *   
 * 
 * }
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "AlertSystemState", namespace = "http://standards.ieee.org/downloads/11073/11073-10207-2017/participant", propOrder = { "systemSignalActivation" }) public class AlertSystemState extends AbstractAlertState implements Cloneable, CopyTo, ToString { /** * Describes a compound ALERT SIGNAL activation for local audible, visible, and tangible ALERT SIGNALs within the ALERT SYSTEM. * * If a SystemSignalActivation SSA is set for any ALERT SIGNAL manifestation within an ALERT SYSTEM, then the following rules SHALL apply for any local ALERT SIGNAL ASi within the ALERT SYSTEM where SSA/@Manifestation is equal to ASi/@Manifestation: * * - If SSA/@State is "On", any ASi/@ActivationState is "On", "Off", or "Psd" * - If SSA/@State is "Psd", any ASi/@ActivationState is "Psd" or "Off" * - If SSA/@State is "Off", all ASi/@ActivationState are "Off" * - If any ASi/@ActivationState is "On" then SSA/@State is "On" * - If all ASi/@ActivationState are "Psd" then SSA/@State is "Psd" * - If all ASi/@ActivationState are "Off" then SSA/@State is "Off" * * NOTE 1—A local ALERT SIGNAL is an ALERT SIGNAL where pm:AlertSignalState/@Location is set to "Loc", whereas a remote ALERT SIGNAL is an ALERT SIGNAL where pm:AlertSignalState/@Location is set to "Rem". * NOTE 2—Remote signals are not considered by SystemSignalActivation. * */ @XmlElement(name = "SystemSignalActivation", namespace = "http://standards.ieee.org/downloads/11073/11073-10207-2017/participant") protected List systemSignalActivation; /** * Timepoint when the ALERT SYSTEM has performed a self check the last time. LastSelfCheck SHALL be updated on every pm:AlertSystemDescriptor/pm:SelfCheckPeriod. * */ @XmlAttribute(name = "LastSelfCheck") @XmlJavaTypeAdapter(TimestampAdapter.class) protected Instant lastSelfCheck; /** * Number of self checks performed. * * This specification does not prescribe the origin of the value, i.e., whether the counter is incremented since the last boot or whether the counter represents the self checks ever performed. * */ @XmlAttribute(name = "SelfCheckCount") protected Long selfCheckCount; /** * List of HANDLE references to the present physiological alarm conditions that have been determined by the ALERT SYSTEM. * */ @XmlAttribute(name = "PresentPhysiologicalAlarmConditions") protected List presentPhysiologicalAlarmConditions; /** * List of HANDLE references to the present technical alarm conditions that have been determined by the ALERT SYSTEM. * */ @XmlAttribute(name = "PresentTechnicalAlarmConditions") protected List presentTechnicalAlarmConditions; /** * Describes a compound ALERT SIGNAL activation for local audible, visible, and tangible ALERT SIGNALs within the ALERT SYSTEM. * * If a SystemSignalActivation SSA is set for any ALERT SIGNAL manifestation within an ALERT SYSTEM, then the following rules SHALL apply for any local ALERT SIGNAL ASi within the ALERT SYSTEM where SSA/@Manifestation is equal to ASi/@Manifestation: * * - If SSA/@State is "On", any ASi/@ActivationState is "On", "Off", or "Psd" * - If SSA/@State is "Psd", any ASi/@ActivationState is "Psd" or "Off" * - If SSA/@State is "Off", all ASi/@ActivationState are "Off" * - If any ASi/@ActivationState is "On" then SSA/@State is "On" * - If all ASi/@ActivationState are "Psd" then SSA/@State is "Psd" * - If all ASi/@ActivationState are "Off" then SSA/@State is "Off" * * NOTE 1—A local ALERT SIGNAL is an ALERT SIGNAL where pm:AlertSignalState/@Location is set to "Loc", whereas a remote ALERT SIGNAL is an ALERT SIGNAL where pm:AlertSignalState/@Location is set to "Rem". * NOTE 2—Remote signals are not considered by SystemSignalActivation. * * Gets the value of the systemSignalActivation property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the systemSignalActivation property.

* *

* For example, to add a new item, do as follows: *

*
     * getSystemSignalActivation().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link SystemSignalActivation } *

* * * @return * The value of the systemSignalActivation property. */ public List getSystemSignalActivation() { if (systemSignalActivation == null) { systemSignalActivation = new ArrayList<>(); } return this.systemSignalActivation; } /** * Timepoint when the ALERT SYSTEM has performed a self check the last time. LastSelfCheck SHALL be updated on every pm:AlertSystemDescriptor/pm:SelfCheckPeriod. * * @return * possible object is * {@link String } * */ @Nullable public Instant getLastSelfCheck() { return lastSelfCheck; } /** * Sets the value of the lastSelfCheck property. * * @param value * allowed object is * {@link String } * * @see #getLastSelfCheck() */ public void setLastSelfCheck( @Nullable Instant value) { this.lastSelfCheck = value; } /** * Number of self checks performed. * * This specification does not prescribe the origin of the value, i.e., whether the counter is incremented since the last boot or whether the counter represents the self checks ever performed. * * @return * possible object is * {@link Long } * */ @Nullable public Long getSelfCheckCount() { return selfCheckCount; } /** * Sets the value of the selfCheckCount property. * * @param value * allowed object is * {@link Long } * * @see #getSelfCheckCount() */ public void setSelfCheckCount( @Nullable Long value) { this.selfCheckCount = value; } /** * List of HANDLE references to the present physiological alarm conditions that have been determined by the ALERT SYSTEM. * * Gets the value of the presentPhysiologicalAlarmConditions property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the presentPhysiologicalAlarmConditions property.

* *

* For example, to add a new item, do as follows: *

*
     * getPresentPhysiologicalAlarmConditions().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link String } *

* * * @return * The value of the presentPhysiologicalAlarmConditions property. */ @Nullable public List getPresentPhysiologicalAlarmConditions() { if (presentPhysiologicalAlarmConditions == null) { presentPhysiologicalAlarmConditions = new ArrayList<>(); } return this.presentPhysiologicalAlarmConditions; } /** * List of HANDLE references to the present technical alarm conditions that have been determined by the ALERT SYSTEM. * * Gets the value of the presentTechnicalAlarmConditions property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the presentTechnicalAlarmConditions property.

* *

* For example, to add a new item, do as follows: *

*
     * getPresentTechnicalAlarmConditions().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link String } *

* * * @return * The value of the presentTechnicalAlarmConditions property. */ @Nullable public List getPresentTechnicalAlarmConditions() { if (presentTechnicalAlarmConditions == null) { presentTechnicalAlarmConditions = new ArrayList<>(); } return this.presentTechnicalAlarmConditions; } public void setSystemSignalActivation( @Nullable List value) { this.systemSignalActivation = null; if (value!= null) { List draftl = this.getSystemSignalActivation(); draftl.addAll(value); } } public void setPresentPhysiologicalAlarmConditions( @Nullable List value) { this.presentPhysiologicalAlarmConditions = null; if (value!= null) { List draftl = this.getPresentPhysiologicalAlarmConditions(); draftl.addAll(value); } } public void setPresentTechnicalAlarmConditions( @Nullable List value) { this.presentTechnicalAlarmConditions = null; if (value!= null) { List draftl = this.getPresentTechnicalAlarmConditions(); draftl.addAll(value); } } @Override public boolean equals(Object object) { if ((object == null)||(this.getClass()!= object.getClass())) { return false; } if (this == object) { return true; } if (!super.equals(object)) { return false; } final AlertSystemState that = ((AlertSystemState) object); { List leftSystemSignalActivation; leftSystemSignalActivation = (((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))?this.getSystemSignalActivation():null); List rightSystemSignalActivation; rightSystemSignalActivation = (((that.systemSignalActivation!= null)&&(!that.systemSignalActivation.isEmpty()))?that.getSystemSignalActivation():null); if ((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty())) { if ((that.systemSignalActivation!= null)&&(!that.systemSignalActivation.isEmpty())) { if (!leftSystemSignalActivation.equals(rightSystemSignalActivation)) { return false; } } else { return false; } } else { if ((that.systemSignalActivation!= null)&&(!that.systemSignalActivation.isEmpty())) { return false; } } } { Instant leftLastSelfCheck; leftLastSelfCheck = this.getLastSelfCheck(); Instant rightLastSelfCheck; rightLastSelfCheck = that.getLastSelfCheck(); if (this.lastSelfCheck!= null) { if (that.lastSelfCheck!= null) { if (!leftLastSelfCheck.equals(rightLastSelfCheck)) { return false; } } else { return false; } } else { if (that.lastSelfCheck!= null) { return false; } } } { Long leftSelfCheckCount; leftSelfCheckCount = this.getSelfCheckCount(); Long rightSelfCheckCount; rightSelfCheckCount = that.getSelfCheckCount(); if (this.selfCheckCount!= null) { if (that.selfCheckCount!= null) { if (!leftSelfCheckCount.equals(rightSelfCheckCount)) { return false; } } else { return false; } } else { if (that.selfCheckCount!= null) { return false; } } } { List leftPresentPhysiologicalAlarmConditions; leftPresentPhysiologicalAlarmConditions = (((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))?this.getPresentPhysiologicalAlarmConditions():null); List rightPresentPhysiologicalAlarmConditions; rightPresentPhysiologicalAlarmConditions = (((that.presentPhysiologicalAlarmConditions!= null)&&(!that.presentPhysiologicalAlarmConditions.isEmpty()))?that.getPresentPhysiologicalAlarmConditions():null); if ((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty())) { if ((that.presentPhysiologicalAlarmConditions!= null)&&(!that.presentPhysiologicalAlarmConditions.isEmpty())) { if (!leftPresentPhysiologicalAlarmConditions.equals(rightPresentPhysiologicalAlarmConditions)) { return false; } } else { return false; } } else { if ((that.presentPhysiologicalAlarmConditions!= null)&&(!that.presentPhysiologicalAlarmConditions.isEmpty())) { return false; } } } { List leftPresentTechnicalAlarmConditions; leftPresentTechnicalAlarmConditions = (((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))?this.getPresentTechnicalAlarmConditions():null); List rightPresentTechnicalAlarmConditions; rightPresentTechnicalAlarmConditions = (((that.presentTechnicalAlarmConditions!= null)&&(!that.presentTechnicalAlarmConditions.isEmpty()))?that.getPresentTechnicalAlarmConditions():null); if ((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty())) { if ((that.presentTechnicalAlarmConditions!= null)&&(!that.presentTechnicalAlarmConditions.isEmpty())) { if (!leftPresentTechnicalAlarmConditions.equals(rightPresentTechnicalAlarmConditions)) { return false; } } else { return false; } } else { if ((that.presentTechnicalAlarmConditions!= null)&&(!that.presentTechnicalAlarmConditions.isEmpty())) { return false; } } } return true; } @Override public int hashCode() { int currentHashCode = 1; currentHashCode = ((currentHashCode* 31)+ super.hashCode()); { currentHashCode = (currentHashCode* 31); List theSystemSignalActivation; theSystemSignalActivation = (((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))?this.getSystemSignalActivation():null); if ((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty())) { currentHashCode += theSystemSignalActivation.hashCode(); } } { currentHashCode = (currentHashCode* 31); Instant theLastSelfCheck; theLastSelfCheck = this.getLastSelfCheck(); if (this.lastSelfCheck!= null) { currentHashCode += theLastSelfCheck.hashCode(); } } { currentHashCode = (currentHashCode* 31); Long theSelfCheckCount; theSelfCheckCount = this.getSelfCheckCount(); if (this.selfCheckCount!= null) { currentHashCode += theSelfCheckCount.hashCode(); } } { currentHashCode = (currentHashCode* 31); List thePresentPhysiologicalAlarmConditions; thePresentPhysiologicalAlarmConditions = (((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))?this.getPresentPhysiologicalAlarmConditions():null); if ((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty())) { currentHashCode += thePresentPhysiologicalAlarmConditions.hashCode(); } } { currentHashCode = (currentHashCode* 31); List thePresentTechnicalAlarmConditions; thePresentTechnicalAlarmConditions = (((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))?this.getPresentTechnicalAlarmConditions():null); if ((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty())) { currentHashCode += thePresentTechnicalAlarmConditions.hashCode(); } } return currentHashCode; } @Override public String toString() { final ToStringStrategy strategy = JAXBToStringStrategy.getInstance(); final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } @Override public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } @Override public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { super.appendFields(locator, buffer, strategy); { List theSystemSignalActivation; theSystemSignalActivation = (((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))?this.getSystemSignalActivation():null); strategy.appendField(locator, this, "systemSignalActivation", buffer, theSystemSignalActivation, ((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))); } { Instant theLastSelfCheck; theLastSelfCheck = this.getLastSelfCheck(); strategy.appendField(locator, this, "lastSelfCheck", buffer, theLastSelfCheck, (this.lastSelfCheck!= null)); } { Long theSelfCheckCount; theSelfCheckCount = this.getSelfCheckCount(); strategy.appendField(locator, this, "selfCheckCount", buffer, theSelfCheckCount, (this.selfCheckCount!= null)); } { List thePresentPhysiologicalAlarmConditions; thePresentPhysiologicalAlarmConditions = (((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))?this.getPresentPhysiologicalAlarmConditions():null); strategy.appendField(locator, this, "presentPhysiologicalAlarmConditions", buffer, thePresentPhysiologicalAlarmConditions, ((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))); } { List thePresentTechnicalAlarmConditions; thePresentTechnicalAlarmConditions = (((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))?this.getPresentTechnicalAlarmConditions():null); strategy.appendField(locator, this, "presentTechnicalAlarmConditions", buffer, thePresentTechnicalAlarmConditions, ((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))); } return buffer; } @Override public Object clone() { return copyTo(createNewInstance()); } @Override public Object copyTo(Object target) { final CopyStrategy strategy = JAXBCopyStrategy.getInstance(); return copyTo(null, target, strategy); } @Override public Object copyTo(ObjectLocator locator, Object target, CopyStrategy strategy) { final Object draftCopy = ((target == null)?createNewInstance():target); super.copyTo(locator, draftCopy, strategy); if (draftCopy instanceof AlertSystemState) { final AlertSystemState copy = ((AlertSystemState) draftCopy); { Boolean systemSignalActivationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))); if (systemSignalActivationShouldBeCopiedAndSet == Boolean.TRUE) { List sourceSystemSignalActivation; sourceSystemSignalActivation = (((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty()))?this.getSystemSignalActivation():null); @SuppressWarnings("unchecked") List copySystemSignalActivation = ((List ) strategy.copy(LocatorUtils.property(locator, "systemSignalActivation", sourceSystemSignalActivation), sourceSystemSignalActivation, ((this.systemSignalActivation!= null)&&(!this.systemSignalActivation.isEmpty())))); copy.setSystemSignalActivation(copySystemSignalActivation); } else { if (systemSignalActivationShouldBeCopiedAndSet == Boolean.FALSE) { copy.systemSignalActivation = null; } } } { Boolean lastSelfCheckShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.lastSelfCheck!= null)); if (lastSelfCheckShouldBeCopiedAndSet == Boolean.TRUE) { Instant sourceLastSelfCheck; sourceLastSelfCheck = this.getLastSelfCheck(); Instant copyLastSelfCheck = ((Instant) strategy.copy(LocatorUtils.property(locator, "lastSelfCheck", sourceLastSelfCheck), sourceLastSelfCheck, (this.lastSelfCheck!= null))); copy.setLastSelfCheck(copyLastSelfCheck); } else { if (lastSelfCheckShouldBeCopiedAndSet == Boolean.FALSE) { copy.lastSelfCheck = null; } } } { Boolean selfCheckCountShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.selfCheckCount!= null)); if (selfCheckCountShouldBeCopiedAndSet == Boolean.TRUE) { Long sourceSelfCheckCount; sourceSelfCheckCount = this.getSelfCheckCount(); Long copySelfCheckCount = ((Long) strategy.copy(LocatorUtils.property(locator, "selfCheckCount", sourceSelfCheckCount), sourceSelfCheckCount, (this.selfCheckCount!= null))); copy.setSelfCheckCount(copySelfCheckCount); } else { if (selfCheckCountShouldBeCopiedAndSet == Boolean.FALSE) { copy.selfCheckCount = null; } } } { Boolean presentPhysiologicalAlarmConditionsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))); if (presentPhysiologicalAlarmConditionsShouldBeCopiedAndSet == Boolean.TRUE) { List sourcePresentPhysiologicalAlarmConditions; sourcePresentPhysiologicalAlarmConditions = (((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty()))?this.getPresentPhysiologicalAlarmConditions():null); @SuppressWarnings("unchecked") List copyPresentPhysiologicalAlarmConditions = ((List ) strategy.copy(LocatorUtils.property(locator, "presentPhysiologicalAlarmConditions", sourcePresentPhysiologicalAlarmConditions), sourcePresentPhysiologicalAlarmConditions, ((this.presentPhysiologicalAlarmConditions!= null)&&(!this.presentPhysiologicalAlarmConditions.isEmpty())))); copy.setPresentPhysiologicalAlarmConditions(copyPresentPhysiologicalAlarmConditions); } else { if (presentPhysiologicalAlarmConditionsShouldBeCopiedAndSet == Boolean.FALSE) { copy.presentPhysiologicalAlarmConditions = null; } } } { Boolean presentTechnicalAlarmConditionsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))); if (presentTechnicalAlarmConditionsShouldBeCopiedAndSet == Boolean.TRUE) { List sourcePresentTechnicalAlarmConditions; sourcePresentTechnicalAlarmConditions = (((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty()))?this.getPresentTechnicalAlarmConditions():null); @SuppressWarnings("unchecked") List copyPresentTechnicalAlarmConditions = ((List ) strategy.copy(LocatorUtils.property(locator, "presentTechnicalAlarmConditions", sourcePresentTechnicalAlarmConditions), sourcePresentTechnicalAlarmConditions, ((this.presentTechnicalAlarmConditions!= null)&&(!this.presentTechnicalAlarmConditions.isEmpty())))); copy.setPresentTechnicalAlarmConditions(copyPresentTechnicalAlarmConditions); } else { if (presentTechnicalAlarmConditionsShouldBeCopiedAndSet == Boolean.FALSE) { copy.presentTechnicalAlarmConditions = null; } } } } return draftCopy; } @Override public Object createNewInstance() { return new AlertSystemState(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy