package com.hbbohua.water.domain; import com.hbbohua.water.domain.literal.AttributeNames; import com.ooxsoft.ecsi.domain.Unit; import com.ooxsoft.platform.domain.UnitOfMeasure; import com.ooxsoft.platform.domain.literal.UnitOfMeasureIdsHex; import org.jetbrains.annotations.Nullable; /** * 水泵 */ public final class WaterPump extends Unit { /** * 获取频率反馈计量单位 * * @return 频率反馈计量单位 */ @Nullable public UnitOfMeasure getFrequencyFeedbackUnitOfMeasure() { return getAttributeValue(AttributeNames.frequencyFeedbackUnitOfMeasure); } /** * 设置频率反馈计量单位 * * @param frequencyFeedbackUnitOfMeasure 频率反馈计量单位 */ public void setFrequencyFeedbackUnitOfMeasure(UnitOfMeasure frequencyFeedbackUnitOfMeasure) { setAttributeValue(AttributeNames.frequencyFeedbackUnitOfMeasure, frequencyFeedbackUnitOfMeasure); } /** * 获取电流反馈计量单位 * * @return 电流反馈计量单位 */ @Nullable public UnitOfMeasure getElectricCurrentFeedbackUOM() { return getAttributeValue(AttributeNames.electricCurrentFeedbackUOM); } /** * 设置电流反馈计量单位 * * @param electricCurrentFeedbackUOM 电流反馈计量单位 */ public void setElectricCurrentFeedbackUOM(UnitOfMeasure electricCurrentFeedbackUOM) { setAttributeValue(AttributeNames.electricCurrentFeedbackUOM, electricCurrentFeedbackUOM); } /** * 获取频率给定 * * @return 频率给定 */ @Nullable public Double getFrequencySetting() { return getAttributeValue(AttributeNames.frequencySetting); } /** * 设置频率给定 * * @param frequencySetting 频率给定 */ public void setFrequencySetting(Double frequencySetting) { setAttributeValue(AttributeNames.frequencySetting, frequencySetting); } /** * 获取电流反馈 * * @return 电流反馈 */ @Nullable public Double getElectricCurrentFeedback() { return getAttributeValue(AttributeNames.electricCurrentFeedback); } /** * 设置电流反馈 * * @param electricCurrentFeedback 电流反馈 */ public void setElectricCurrentFeedback(Double electricCurrentFeedback) { setAttributeValue(AttributeNames.electricCurrentFeedback, electricCurrentFeedback); } /** * 获取频率给定计量单位 * * @return 频率给定计量单位 */ @Nullable public UnitOfMeasure getFrequencySettingUnitOfMeasure() { return getAttributeValue(AttributeNames.frequencySettingUnitOfMeasure); } /** * 设置频率给定计量单位 * * @param frequencySettingUnitOfMeasure 频率给定计量单位 */ public void setFrequencySettingUnitOfMeasure(UnitOfMeasure frequencySettingUnitOfMeasure) { setAttributeValue(AttributeNames.frequencySettingUnitOfMeasure, frequencySettingUnitOfMeasure); } /** * 获取频率反馈 * * @return 频率反馈 */ @Nullable public Double getFrequencyFeedback() { return getAttributeValue(AttributeNames.frequencyFeedback); } /** * 设置频率反馈 * * @param frequencyFeedback 频率反馈 */ public void setFrequencyFeedback(Double frequencyFeedback) { setAttributeValue(AttributeNames.frequencyFeedback, frequencyFeedback); } /** * 对象持久化前处理。该方法由对象持久化框架回调。在将对象从非持久化状态"TRANSIENT"转换为已持久化状态"MANAGED"之前触发。 * 子类重写该方法时,要考虑是否调用super.xxx(),以及调用先后时机,以免造成无意的父类代码逻辑被覆盖(丢失) */ @Override protected void prePersist() { super.prePersist(); //默认给定频率单位 HZ if (getFrequencySettingUnitOfMeasure() == null) { setFrequencySettingUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.HZ)); } //默认反馈频率单位 HZ if (getElectricCurrentFeedbackUOM() == null) { setElectricCurrentFeedbackUOM(UnitOfMeasure.forId(UnitOfMeasureIdsHex.HZ)); } //增加动态属性名,填充实时库标签用 if(!containsDynamicAttribute(AttributeNames.frequencySetting)){ setDynamicAttribute(AttributeNames.frequencySetting,null,true); } if(!containsDynamicAttribute(AttributeNames.frequencyFeedback)){ setDynamicAttribute(AttributeNames.frequencyFeedback,null,true); } if(!containsDynamicAttribute(AttributeNames.electricCurrentFeedback)){ setDynamicAttribute(AttributeNames.electricCurrentFeedback,null,true); } } }