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