package com.hbbohua.water.domain;
|
|
import com.hbbohua.water.domain.literal.AttributeNames;
|
import com.ooxsoft.ecsi.domain.Unit;
|
import com.hbbohua.water.domain.literal.ValueIds;
|
import com.ooxsoft.objekt.domain.Value;
|
import com.ooxsoft.platform.domain.UnitOfMeasure;
|
import com.ooxsoft.platform.domain.literal.UnitOfMeasureIdsHex;
|
import org.jetbrains.annotations.Nullable;
|
|
/**
|
* 压力计
|
*/
|
public class Manometer extends Unit {
|
/**
|
* 指定地图标记的类型(点、线、圆、矩形、多边形等)
|
*
|
* @return 地图标记的类型
|
*/
|
@Override
|
public Value locationType() {
|
return Value.forId(ValueIds.LocationType_marker);
|
}
|
|
/**
|
* 获取值
|
*
|
* @return 值
|
*/
|
@Nullable
|
public Double getValue() {
|
return getAttributeValue(AttributeNames.value);
|
}
|
|
/**
|
* 设置值
|
*
|
* @param value 值
|
*/
|
public void setValue(Double value) {
|
setAttributeValue(AttributeNames.value, value);
|
}
|
|
/**
|
* 获取单位
|
*
|
* @return 单位
|
*/
|
@Nullable
|
public UnitOfMeasure getUnitOfMeasure() {
|
return getAttributeValue(AttributeNames.unitOfMeasure);
|
}
|
|
/**
|
* 设置单位
|
*
|
* @param unitOfMeasure 单位
|
*/
|
public void setUnitOfMeasure(UnitOfMeasure unitOfMeasure) {
|
setAttributeValue(AttributeNames.unitOfMeasure, unitOfMeasure);
|
}
|
|
/**
|
* 对象持久化前处理。该方法由对象持久化框架回调。在将对象从非持久化状态"TRANSIENT"转换为已持久化状态"MANAGED"之前触发。
|
* 子类重写该方法时,要考虑是否调用super.xxx(),以及调用先后时机,以免造成无意的父类代码逻辑被覆盖(丢失)
|
*/
|
@Override
|
protected void prePersist() {
|
super.prePersist();
|
//默认压力单位 千帕
|
if (getUnitOfMeasure() == null) {
|
setUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.KPA));
|
}
|
//增加动态属性名,填充实时库标签用
|
if(!containsDynamicAttribute(AttributeNames.value)){
|
setDynamicAttribute(AttributeNames.value,null,true);
|
}
|
}
|
|
}
|