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 Pipeline extends Unit {
|
/**
|
* 指定地图标记的类型(点、线、圆、矩形、多边形等)
|
*
|
* @return 地图标记的类型
|
*/
|
@Override
|
public Value locationType() {
|
return Value.forId(ValueIds.LocationType_polyline);
|
}
|
|
/**
|
* 获取管径计量单位
|
*
|
* @return 管径计量单位
|
*/
|
@Nullable
|
public UnitOfMeasure getDiameterUnitOfMeasure() {
|
return getAttributeValue(AttributeNames.diameterUnitOfMeasure);
|
}
|
|
/**
|
* 设置管径计量单位
|
*
|
* @param diameterUnitOfMeasure 管径计量单位
|
*/
|
public void setDiameterUnitOfMeasure(UnitOfMeasure diameterUnitOfMeasure) {
|
setAttributeValue(AttributeNames.diameterUnitOfMeasure, diameterUnitOfMeasure);
|
}
|
|
/**
|
* 获取管径
|
*
|
* @return 管径
|
*/
|
@Nullable
|
public Integer getDiameter() {
|
return getAttributeValue(AttributeNames.diameter);
|
}
|
|
/**
|
* 设置管径
|
*
|
* @param diameter 管径
|
*/
|
public void setDiameter(Integer diameter) {
|
setAttributeValue(AttributeNames.diameter, diameter);
|
}
|
/**
|
* 对象持久化前处理。该方法由对象持久化框架回调。在将对象从非持久化状态"TRANSIENT"转换为已持久化状态"MANAGED"之前触发。
|
* 子类重写该方法时,要考虑是否调用super.xxx(),以及调用先后时机,以免造成无意的父类代码逻辑被覆盖(丢失)
|
*/
|
@Override
|
protected void prePersist() {
|
super.prePersist();
|
//默认管径 毫米
|
if (getDiameterUnitOfMeasure() == null) {
|
setDiameterUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.MM));
|
}
|
}
|
|
}
|