// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: event_dis.proto

package org.jeecg.modules.pm.entity.eps;

public final class EventDis {
  private EventDis() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface CommEventLogOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.jeecg.modules.pm.entity.eps.CommEventLog)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return Whether the logId field is set.
     */
    boolean hasLogId();
    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return The logId.
     */
    String getLogId();
    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return The bytes for logId.
     */
    com.google.protobuf.ByteString
        getLogIdBytes();

    /**
     * <pre>
     *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
     * </pre>
     *
     * <code>required int32 event_state = 2;</code>
     * @return Whether the eventState field is set.
     */
    boolean hasEventState();
    /**
     * <pre>
     *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
     * </pre>
     *
     * <code>required int32 event_state = 2;</code>
     * @return The eventState.
     */
    int getEventState();

    /**
     * <pre>
     *事件等级
     * </pre>
     *
     * <code>optional int32 event_level = 3;</code>
     * @return Whether the eventLevel field is set.
     */
    boolean hasEventLevel();
    /**
     * <pre>
     *事件等级
     * </pre>
     *
     * <code>optional int32 event_level = 3;</code>
     * @return The eventLevel.
     */
    int getEventLevel();

    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return Whether the unitIdx field is set.
     */
    boolean hasUnitIdx();
    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return The unitIdx.
     */
    String getUnitIdx();
    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return The bytes for unitIdx.
     */
    com.google.protobuf.ByteString
        getUnitIdxBytes();

    /**
     * <pre>
     *事件类型
     * </pre>
     *
     * <code>optional int32 event_type = 5;</code>
     * @return Whether the eventType field is set.
     */
    boolean hasEventType();
    /**
     * <pre>
     *事件类型
     * </pre>
     *
     * <code>optional int32 event_type = 5;</code>
     * @return The eventType.
     */
    int getEventType();

    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return Whether the eventTypeName field is set.
     */
    boolean hasEventTypeName();
    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return The eventTypeName.
     */
    String getEventTypeName();
    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return The bytes for eventTypeName.
     */
    com.google.protobuf.ByteString
        getEventTypeNameBytes();

    /**
     * <pre>
     *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
     * </pre>
     *
     * <code>optional int32 sub_sys_type = 7;</code>
     * @return Whether the subSysType field is set.
     */
    boolean hasSubSysType();
    /**
     * <pre>
     *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
     * </pre>
     *
     * <code>optional int32 sub_sys_type = 7;</code>
     * @return The subSysType.
     */
    int getSubSysType();

    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return Whether the eventName field is set.
     */
    boolean hasEventName();
    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return The eventName.
     */
    String getEventName();
    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return The bytes for eventName.
     */
    com.google.protobuf.ByteString
        getEventNameBytes();

    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return Whether the startTime field is set.
     */
    boolean hasStartTime();
    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return The startTime.
     */
    String getStartTime();
    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return The bytes for startTime.
     */
    com.google.protobuf.ByteString
        getStartTimeBytes();

    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return Whether the stopTime field is set.
     */
    boolean hasStopTime();
    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return The stopTime.
     */
    String getStopTime();
    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return The bytes for stopTime.
     */
    com.google.protobuf.ByteString
        getStopTimeBytes();

    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return Whether the sourceIdx field is set.
     */
    boolean hasSourceIdx();
    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return The sourceIdx.
     */
    String getSourceIdx();
    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return The bytes for sourceIdx.
     */
    com.google.protobuf.ByteString
        getSourceIdxBytes();

    /**
     * <pre>
     *事件源类型
     * </pre>
     *
     * <code>optional int32 source_type = 12;</code>
     * @return Whether the sourceType field is set.
     */
    boolean hasSourceType();
    /**
     * <pre>
     *事件源类型
     * </pre>
     *
     * <code>optional int32 source_type = 12;</code>
     * @return The sourceType.
     */
    int getSourceType();

    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return Whether the sourceName field is set.
     */
    boolean hasSourceName();
    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return The sourceName.
     */
    String getSourceName();
    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return The bytes for sourceName.
     */
    com.google.protobuf.ByteString
        getSourceNameBytes();

    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return Whether the logTxt field is set.
     */
    boolean hasLogTxt();
    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return The logTxt.
     */
    String getLogTxt();
    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return The bytes for logTxt.
     */
    com.google.protobuf.ByteString
        getLogTxtBytes();

    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return Whether the regionIdx field is set.
     */
    boolean hasRegionIdx();
    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return The regionIdx.
     */
    String getRegionIdx();
    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return The bytes for regionIdx.
     */
    com.google.protobuf.ByteString
        getRegionIdxBytes();

    /**
     * <pre>
     *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
     * </pre>
     *
     * <code>optional bytes ext_info = 20;</code>
     * @return Whether the extInfo field is set.
     */
    boolean hasExtInfo();
    /**
     * <pre>
     *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
     * </pre>
     *
     * <code>optional bytes ext_info = 20;</code>
     * @return The extInfo.
     */
    com.google.protobuf.ByteString getExtInfo();

    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @return A list containing the userId.
     */
    java.util.List<Integer> getUserIdList();
    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @return The count of userId.
     */
    int getUserIdCount();
    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @param index The index of the element to return.
     * @return The userId at the given index.
     */
    int getUserId(int index);

    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    java.util.List<Comm.TriggerResult>
        getRsltMsgList();
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    Comm.TriggerResult getRsltMsg(int index);
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    int getRsltMsgCount();
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    java.util.List<? extends Comm.TriggerResultOrBuilder>
        getRsltMsgOrBuilderList();
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    Comm.TriggerResultOrBuilder getRsltMsgOrBuilder(
        int index);

    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    java.util.List<Comm.CommEventTrig>
        getTrigInfoList();
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    Comm.CommEventTrig getTrigInfo(int index);
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    int getTrigInfoCount();
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    java.util.List<? extends Comm.CommEventTrigOrBuilder>
        getTrigInfoOrBuilderList();
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    Comm.CommEventTrigOrBuilder getTrigInfoOrBuilder(
        int index);
  }
  /**
   * <pre>
   *&#64;基本事件日志消息结构体
   * </pre>
   *
   * Protobuf type {@code org.jeecg.modules.pm.entity.eps.CommEventLog}
   */
  public static final class CommEventLog extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:org.jeecg.modules.pm.entity.eps.CommEventLog)
      CommEventLogOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CommEventLog.newBuilder() to construct.
    private CommEventLog(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CommEventLog() {
      logId_ = "";
      unitIdx_ = "";
      eventTypeName_ = "";
      eventName_ = "";
      startTime_ = "";
      stopTime_ = "";
      sourceIdx_ = "";
      sourceName_ = "";
      logTxt_ = "";
      regionIdx_ = "";
      extInfo_ = com.google.protobuf.ByteString.EMPTY;
      userId_ = emptyIntList();
      rsltMsg_ = java.util.Collections.emptyList();
      trigInfo_ = java.util.Collections.emptyList();
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new CommEventLog();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CommEventLog(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              logId_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              eventState_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              eventLevel_ = input.readInt32();
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              unitIdx_ = bs;
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              eventType_ = input.readInt32();
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              eventTypeName_ = bs;
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              subSysType_ = input.readInt32();
              break;
            }
            case 66: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000080;
              eventName_ = bs;
              break;
            }
            case 74: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000100;
              startTime_ = bs;
              break;
            }
            case 82: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000200;
              stopTime_ = bs;
              break;
            }
            case 90: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000400;
              sourceIdx_ = bs;
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              sourceType_ = input.readInt32();
              break;
            }
            case 106: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00001000;
              sourceName_ = bs;
              break;
            }
            case 114: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00002000;
              logTxt_ = bs;
              break;
            }
            case 122: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00004000;
              regionIdx_ = bs;
              break;
            }
            case 162: {
              bitField0_ |= 0x00008000;
              extInfo_ = input.readBytes();
              break;
            }
            case 168: {
              if (!((mutable_bitField0_ & 0x00010000) != 0)) {
                userId_ = newIntList();
                mutable_bitField0_ |= 0x00010000;
              }
              userId_.addInt(input.readInt32());
              break;
            }
            case 170: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00010000) != 0) && input.getBytesUntilLimit() > 0) {
                userId_ = newIntList();
                mutable_bitField0_ |= 0x00010000;
              }
              while (input.getBytesUntilLimit() > 0) {
                userId_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 266: {
              if (!((mutable_bitField0_ & 0x00020000) != 0)) {
                rsltMsg_ = new java.util.ArrayList<Comm.TriggerResult>();
                mutable_bitField0_ |= 0x00020000;
              }
              rsltMsg_.add(
                  input.readMessage(Comm.TriggerResult.PARSER, extensionRegistry));
              break;
            }
            case 274: {
              if (!((mutable_bitField0_ & 0x00040000) != 0)) {
                trigInfo_ = new java.util.ArrayList<Comm.CommEventTrig>();
                mutable_bitField0_ |= 0x00040000;
              }
              trigInfo_.add(
                  input.readMessage(Comm.CommEventTrig.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00010000) != 0)) {
          userId_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00020000) != 0)) {
          rsltMsg_ = java.util.Collections.unmodifiableList(rsltMsg_);
        }
        if (((mutable_bitField0_ & 0x00040000) != 0)) {
          trigInfo_ = java.util.Collections.unmodifiableList(trigInfo_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return EventDis.internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor;
    }

    @Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return EventDis.internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              CommEventLog.class, Builder.class);
    }

    private int bitField0_;
    public static final int LOG_ID_FIELD_NUMBER = 1;
    private volatile Object logId_;
    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return Whether the logId field is set.
     */
    @Override
    public boolean hasLogId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return The logId.
     */
    @Override
    public String getLogId() {
      Object ref = logId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          logId_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *日志Id，唯一标识一次发生的事件
     * </pre>
     *
     * <code>required string log_id = 1;</code>
     * @return The bytes for logId.
     */
    @Override
    public com.google.protobuf.ByteString
        getLogIdBytes() {
      Object ref = logId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        logId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EVENT_STATE_FIELD_NUMBER = 2;
    private int eventState_;
    /**
     * <pre>
     *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
     * </pre>
     *
     * <code>required int32 event_state = 2;</code>
     * @return Whether the eventState field is set.
     */
    @Override
    public boolean hasEventState() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <pre>
     *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
     * </pre>
     *
     * <code>required int32 event_state = 2;</code>
     * @return The eventState.
     */
    @Override
    public int getEventState() {
      return eventState_;
    }

    public static final int EVENT_LEVEL_FIELD_NUMBER = 3;
    private int eventLevel_;
    /**
     * <pre>
     *事件等级
     * </pre>
     *
     * <code>optional int32 event_level = 3;</code>
     * @return Whether the eventLevel field is set.
     */
    @Override
    public boolean hasEventLevel() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <pre>
     *事件等级
     * </pre>
     *
     * <code>optional int32 event_level = 3;</code>
     * @return The eventLevel.
     */
    @Override
    public int getEventLevel() {
      return eventLevel_;
    }

    public static final int UNIT_IDX_FIELD_NUMBER = 4;
    private volatile Object unitIdx_;
    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return Whether the unitIdx field is set.
     */
    @Override
    public boolean hasUnitIdx() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return The unitIdx.
     */
    @Override
    public String getUnitIdx() {
      Object ref = unitIdx_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          unitIdx_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *控制中心编号
     * </pre>
     *
     * <code>optional string unit_idx = 4;</code>
     * @return The bytes for unitIdx.
     */
    @Override
    public com.google.protobuf.ByteString
        getUnitIdxBytes() {
      Object ref = unitIdx_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        unitIdx_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EVENT_TYPE_FIELD_NUMBER = 5;
    private int eventType_;
    /**
     * <pre>
     *事件类型
     * </pre>
     *
     * <code>optional int32 event_type = 5;</code>
     * @return Whether the eventType field is set.
     */
    @Override
    public boolean hasEventType() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <pre>
     *事件类型
     * </pre>
     *
     * <code>optional int32 event_type = 5;</code>
     * @return The eventType.
     */
    @Override
    public int getEventType() {
      return eventType_;
    }

    public static final int EVENT_TYPE_NAME_FIELD_NUMBER = 6;
    private volatile Object eventTypeName_;
    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return Whether the eventTypeName field is set.
     */
    @Override
    public boolean hasEventTypeName() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return The eventTypeName.
     */
    @Override
    public String getEventTypeName() {
      Object ref = eventTypeName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          eventTypeName_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件类型名称
     * </pre>
     *
     * <code>optional string event_type_name = 6;</code>
     * @return The bytes for eventTypeName.
     */
    @Override
    public com.google.protobuf.ByteString
        getEventTypeNameBytes() {
      Object ref = eventTypeName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        eventTypeName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUB_SYS_TYPE_FIELD_NUMBER = 7;
    private int subSysType_;
    /**
     * <pre>
     *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
     * </pre>
     *
     * <code>optional int32 sub_sys_type = 7;</code>
     * @return Whether the subSysType field is set.
     */
    @Override
    public boolean hasSubSysType() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <pre>
     *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
     * </pre>
     *
     * <code>optional int32 sub_sys_type = 7;</code>
     * @return The subSysType.
     */
    @Override
    public int getSubSysType() {
      return subSysType_;
    }

    public static final int EVENT_NAME_FIELD_NUMBER = 8;
    private volatile Object eventName_;
    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return Whether the eventName field is set.
     */
    @Override
    public boolean hasEventName() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return The eventName.
     */
    @Override
    public String getEventName() {
      Object ref = eventName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          eventName_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件名称
     * </pre>
     *
     * <code>optional string event_name = 8;</code>
     * @return The bytes for eventName.
     */
    @Override
    public com.google.protobuf.ByteString
        getEventNameBytes() {
      Object ref = eventName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        eventName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int START_TIME_FIELD_NUMBER = 9;
    private volatile Object startTime_;
    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return Whether the startTime field is set.
     */
    @Override
    public boolean hasStartTime() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return The startTime.
     */
    @Override
    public String getStartTime() {
      Object ref = startTime_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          startTime_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *开始时间
     * </pre>
     *
     * <code>optional string start_time = 9;</code>
     * @return The bytes for startTime.
     */
    @Override
    public com.google.protobuf.ByteString
        getStartTimeBytes() {
      Object ref = startTime_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        startTime_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STOP_TIME_FIELD_NUMBER = 10;
    private volatile Object stopTime_;
    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return Whether the stopTime field is set.
     */
    @Override
    public boolean hasStopTime() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return The stopTime.
     */
    @Override
    public String getStopTime() {
      Object ref = stopTime_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          stopTime_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *结束时间
     * </pre>
     *
     * <code>optional string stop_time = 10;</code>
     * @return The bytes for stopTime.
     */
    @Override
    public com.google.protobuf.ByteString
        getStopTimeBytes() {
      Object ref = stopTime_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        stopTime_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SOURCE_IDX_FIELD_NUMBER = 11;
    private volatile Object sourceIdx_;
    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return Whether the sourceIdx field is set.
     */
    @Override
    public boolean hasSourceIdx() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return The sourceIdx.
     */
    @Override
    public String getSourceIdx() {
      Object ref = sourceIdx_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          sourceIdx_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件源编号
     * </pre>
     *
     * <code>optional string source_idx = 11;</code>
     * @return The bytes for sourceIdx.
     */
    @Override
    public com.google.protobuf.ByteString
        getSourceIdxBytes() {
      Object ref = sourceIdx_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sourceIdx_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SOURCE_TYPE_FIELD_NUMBER = 12;
    private int sourceType_;
    /**
     * <pre>
     *事件源类型
     * </pre>
     *
     * <code>optional int32 source_type = 12;</code>
     * @return Whether the sourceType field is set.
     */
    @Override
    public boolean hasSourceType() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * <pre>
     *事件源类型
     * </pre>
     *
     * <code>optional int32 source_type = 12;</code>
     * @return The sourceType.
     */
    @Override
    public int getSourceType() {
      return sourceType_;
    }

    public static final int SOURCE_NAME_FIELD_NUMBER = 13;
    private volatile Object sourceName_;
    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return Whether the sourceName field is set.
     */
    @Override
    public boolean hasSourceName() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return The sourceName.
     */
    @Override
    public String getSourceName() {
      Object ref = sourceName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          sourceName_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件源名称
     * </pre>
     *
     * <code>optional string source_name = 13;</code>
     * @return The bytes for sourceName.
     */
    @Override
    public com.google.protobuf.ByteString
        getSourceNameBytes() {
      Object ref = sourceName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sourceName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LOG_TXT_FIELD_NUMBER = 14;
    private volatile Object logTxt_;
    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return Whether the logTxt field is set.
     */
    @Override
    public boolean hasLogTxt() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return The logTxt.
     */
    @Override
    public String getLogTxt() {
      Object ref = logTxt_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          logTxt_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件描述信息
     * </pre>
     *
     * <code>optional string log_txt = 14;</code>
     * @return The bytes for logTxt.
     */
    @Override
    public com.google.protobuf.ByteString
        getLogTxtBytes() {
      Object ref = logTxt_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        logTxt_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REGION_IDX_FIELD_NUMBER = 15;
    private volatile Object regionIdx_;
    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return Whether the regionIdx field is set.
     */
    @Override
    public boolean hasRegionIdx() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return The regionIdx.
     */
    @Override
    public String getRegionIdx() {
      Object ref = regionIdx_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          regionIdx_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *事件源区域编号，可选
     * </pre>
     *
     * <code>optional string region_idx = 15;</code>
     * @return The bytes for regionIdx.
     */
    @Override
    public com.google.protobuf.ByteString
        getRegionIdxBytes() {
      Object ref = regionIdx_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        regionIdx_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXT_INFO_FIELD_NUMBER = 20;
    private com.google.protobuf.ByteString extInfo_;
    /**
     * <pre>
     *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
     * </pre>
     *
     * <code>optional bytes ext_info = 20;</code>
     * @return Whether the extInfo field is set.
     */
    @Override
    public boolean hasExtInfo() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * <pre>
     *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
     * </pre>
     *
     * <code>optional bytes ext_info = 20;</code>
     * @return The extInfo.
     */
    @Override
    public com.google.protobuf.ByteString getExtInfo() {
      return extInfo_;
    }

    public static final int USER_ID_FIELD_NUMBER = 21;
    private com.google.protobuf.Internal.IntList userId_;
    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @return A list containing the userId.
     */
    @Override
    public java.util.List<Integer>
        getUserIdList() {
      return userId_;
    }
    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @return The count of userId.
     */
    public int getUserIdCount() {
      return userId_.size();
    }
    /**
     * <pre>
     *事件接收的User Id数组,用于日志查询权限控制
     * </pre>
     *
     * <code>repeated int32 user_id = 21;</code>
     * @param index The index of the element to return.
     * @return The userId at the given index.
     */
    public int getUserId(int index) {
      return userId_.getInt(index);
    }

    public static final int RSLT_MSG_FIELD_NUMBER = 33;
    private java.util.List<Comm.TriggerResult> rsltMsg_;
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    @Override
    public java.util.List<Comm.TriggerResult> getRsltMsgList() {
      return rsltMsg_;
    }
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    @Override
    public java.util.List<? extends Comm.TriggerResultOrBuilder>
        getRsltMsgOrBuilderList() {
      return rsltMsg_;
    }
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    @Override
    public int getRsltMsgCount() {
      return rsltMsg_.size();
    }
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    @Override
    public Comm.TriggerResult getRsltMsg(int index) {
      return rsltMsg_.get(index);
    }
    /**
     * <pre>
     *事件处理结果，当event_state为更新时使用
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
     */
    @Override
    public Comm.TriggerResultOrBuilder getRsltMsgOrBuilder(
        int index) {
      return rsltMsg_.get(index);
    }

    public static final int TRIG_INFO_FIELD_NUMBER = 34;
    private java.util.List<Comm.CommEventTrig> trigInfo_;
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    @Override
    public java.util.List<Comm.CommEventTrig> getTrigInfoList() {
      return trigInfo_;
    }
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    @Override
    public java.util.List<? extends Comm.CommEventTrigOrBuilder>
        getTrigInfoOrBuilderList() {
      return trigInfo_;
    }
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    @Override
    public int getTrigInfoCount() {
      return trigInfo_.size();
    }
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    @Override
    public Comm.CommEventTrig getTrigInfo(int index) {
      return trigInfo_.get(index);
    }
    /**
     * <pre>
     *联动信息，目前包含客户端联动、预案     
     * </pre>
     *
     * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
     */
    @Override
    public Comm.CommEventTrigOrBuilder getTrigInfoOrBuilder(
        int index) {
      return trigInfo_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasLogId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasEventState()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRsltMsgCount(); i++) {
        if (!getRsltMsg(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getTrigInfoCount(); i++) {
        if (!getTrigInfo(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, logId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, eventState_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt32(3, eventLevel_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, unitIdx_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeInt32(5, eventType_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, eventTypeName_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeInt32(7, subSysType_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, eventName_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, startTime_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, stopTime_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, sourceIdx_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeInt32(12, sourceType_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, sourceName_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, logTxt_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, regionIdx_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        output.writeBytes(20, extInfo_);
      }
      for (int i = 0; i < userId_.size(); i++) {
        output.writeInt32(21, userId_.getInt(i));
      }
      for (int i = 0; i < rsltMsg_.size(); i++) {
        output.writeMessage(33, rsltMsg_.get(i));
      }
      for (int i = 0; i < trigInfo_.size(); i++) {
        output.writeMessage(34, trigInfo_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, logId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, eventState_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, eventLevel_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, unitIdx_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, eventType_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, eventTypeName_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, subSysType_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, eventName_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, startTime_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, stopTime_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, sourceIdx_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, sourceType_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, sourceName_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, logTxt_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, regionIdx_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(20, extInfo_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < userId_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(userId_.getInt(i));
        }
        size += dataSize;
        size += 2 * getUserIdList().size();
      }
      for (int i = 0; i < rsltMsg_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(33, rsltMsg_.get(i));
      }
      for (int i = 0; i < trigInfo_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(34, trigInfo_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof CommEventLog)) {
        return super.equals(obj);
      }
      CommEventLog other = (CommEventLog) obj;

      if (hasLogId() != other.hasLogId()) return false;
      if (hasLogId()) {
        if (!getLogId()
            .equals(other.getLogId())) return false;
      }
      if (hasEventState() != other.hasEventState()) return false;
      if (hasEventState()) {
        if (getEventState()
            != other.getEventState()) return false;
      }
      if (hasEventLevel() != other.hasEventLevel()) return false;
      if (hasEventLevel()) {
        if (getEventLevel()
            != other.getEventLevel()) return false;
      }
      if (hasUnitIdx() != other.hasUnitIdx()) return false;
      if (hasUnitIdx()) {
        if (!getUnitIdx()
            .equals(other.getUnitIdx())) return false;
      }
      if (hasEventType() != other.hasEventType()) return false;
      if (hasEventType()) {
        if (getEventType()
            != other.getEventType()) return false;
      }
      if (hasEventTypeName() != other.hasEventTypeName()) return false;
      if (hasEventTypeName()) {
        if (!getEventTypeName()
            .equals(other.getEventTypeName())) return false;
      }
      if (hasSubSysType() != other.hasSubSysType()) return false;
      if (hasSubSysType()) {
        if (getSubSysType()
            != other.getSubSysType()) return false;
      }
      if (hasEventName() != other.hasEventName()) return false;
      if (hasEventName()) {
        if (!getEventName()
            .equals(other.getEventName())) return false;
      }
      if (hasStartTime() != other.hasStartTime()) return false;
      if (hasStartTime()) {
        if (!getStartTime()
            .equals(other.getStartTime())) return false;
      }
      if (hasStopTime() != other.hasStopTime()) return false;
      if (hasStopTime()) {
        if (!getStopTime()
            .equals(other.getStopTime())) return false;
      }
      if (hasSourceIdx() != other.hasSourceIdx()) return false;
      if (hasSourceIdx()) {
        if (!getSourceIdx()
            .equals(other.getSourceIdx())) return false;
      }
      if (hasSourceType() != other.hasSourceType()) return false;
      if (hasSourceType()) {
        if (getSourceType()
            != other.getSourceType()) return false;
      }
      if (hasSourceName() != other.hasSourceName()) return false;
      if (hasSourceName()) {
        if (!getSourceName()
            .equals(other.getSourceName())) return false;
      }
      if (hasLogTxt() != other.hasLogTxt()) return false;
      if (hasLogTxt()) {
        if (!getLogTxt()
            .equals(other.getLogTxt())) return false;
      }
      if (hasRegionIdx() != other.hasRegionIdx()) return false;
      if (hasRegionIdx()) {
        if (!getRegionIdx()
            .equals(other.getRegionIdx())) return false;
      }
      if (hasExtInfo() != other.hasExtInfo()) return false;
      if (hasExtInfo()) {
        if (!getExtInfo()
            .equals(other.getExtInfo())) return false;
      }
      if (!getUserIdList()
          .equals(other.getUserIdList())) return false;
      if (!getRsltMsgList()
          .equals(other.getRsltMsgList())) return false;
      if (!getTrigInfoList()
          .equals(other.getTrigInfoList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasLogId()) {
        hash = (37 * hash) + LOG_ID_FIELD_NUMBER;
        hash = (53 * hash) + getLogId().hashCode();
      }
      if (hasEventState()) {
        hash = (37 * hash) + EVENT_STATE_FIELD_NUMBER;
        hash = (53 * hash) + getEventState();
      }
      if (hasEventLevel()) {
        hash = (37 * hash) + EVENT_LEVEL_FIELD_NUMBER;
        hash = (53 * hash) + getEventLevel();
      }
      if (hasUnitIdx()) {
        hash = (37 * hash) + UNIT_IDX_FIELD_NUMBER;
        hash = (53 * hash) + getUnitIdx().hashCode();
      }
      if (hasEventType()) {
        hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getEventType();
      }
      if (hasEventTypeName()) {
        hash = (37 * hash) + EVENT_TYPE_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getEventTypeName().hashCode();
      }
      if (hasSubSysType()) {
        hash = (37 * hash) + SUB_SYS_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getSubSysType();
      }
      if (hasEventName()) {
        hash = (37 * hash) + EVENT_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getEventName().hashCode();
      }
      if (hasStartTime()) {
        hash = (37 * hash) + START_TIME_FIELD_NUMBER;
        hash = (53 * hash) + getStartTime().hashCode();
      }
      if (hasStopTime()) {
        hash = (37 * hash) + STOP_TIME_FIELD_NUMBER;
        hash = (53 * hash) + getStopTime().hashCode();
      }
      if (hasSourceIdx()) {
        hash = (37 * hash) + SOURCE_IDX_FIELD_NUMBER;
        hash = (53 * hash) + getSourceIdx().hashCode();
      }
      if (hasSourceType()) {
        hash = (37 * hash) + SOURCE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getSourceType();
      }
      if (hasSourceName()) {
        hash = (37 * hash) + SOURCE_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getSourceName().hashCode();
      }
      if (hasLogTxt()) {
        hash = (37 * hash) + LOG_TXT_FIELD_NUMBER;
        hash = (53 * hash) + getLogTxt().hashCode();
      }
      if (hasRegionIdx()) {
        hash = (37 * hash) + REGION_IDX_FIELD_NUMBER;
        hash = (53 * hash) + getRegionIdx().hashCode();
      }
      if (hasExtInfo()) {
        hash = (37 * hash) + EXT_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getExtInfo().hashCode();
      }
      if (getUserIdCount() > 0) {
        hash = (37 * hash) + USER_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserIdList().hashCode();
      }
      if (getRsltMsgCount() > 0) {
        hash = (37 * hash) + RSLT_MSG_FIELD_NUMBER;
        hash = (53 * hash) + getRsltMsgList().hashCode();
      }
      if (getTrigInfoCount() > 0) {
        hash = (37 * hash) + TRIG_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getTrigInfoList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static CommEventLog parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static CommEventLog parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static CommEventLog parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static CommEventLog parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static CommEventLog parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static CommEventLog parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static CommEventLog parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static CommEventLog parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static CommEventLog parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static CommEventLog parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static CommEventLog parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static CommEventLog parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(CommEventLog prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *&#64;基本事件日志消息结构体
     * </pre>
     *
     * Protobuf type {@code org.jeecg.modules.pm.entity.eps.CommEventLog}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.jeecg.modules.pm.entity.eps.CommEventLog)
        CommEventLogOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventDis.internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor;
      }

      @Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventDis.internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                CommEventLog.class, Builder.class);
      }

      // Construct using org.jeecg.modules.pm.entity.eps.EventDis.CommEventLog.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRsltMsgFieldBuilder();
          getTrigInfoFieldBuilder();
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        logId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        eventState_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        eventLevel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        unitIdx_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        eventType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        eventTypeName_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        subSysType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        eventName_ = "";
        bitField0_ = (bitField0_ & ~0x00000080);
        startTime_ = "";
        bitField0_ = (bitField0_ & ~0x00000100);
        stopTime_ = "";
        bitField0_ = (bitField0_ & ~0x00000200);
        sourceIdx_ = "";
        bitField0_ = (bitField0_ & ~0x00000400);
        sourceType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        sourceName_ = "";
        bitField0_ = (bitField0_ & ~0x00001000);
        logTxt_ = "";
        bitField0_ = (bitField0_ & ~0x00002000);
        regionIdx_ = "";
        bitField0_ = (bitField0_ & ~0x00004000);
        extInfo_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00008000);
        userId_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00010000);
        if (rsltMsgBuilder_ == null) {
          rsltMsg_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00020000);
        } else {
          rsltMsgBuilder_.clear();
        }
        if (trigInfoBuilder_ == null) {
          trigInfo_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00040000);
        } else {
          trigInfoBuilder_.clear();
        }
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return EventDis.internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor;
      }

      @Override
      public CommEventLog getDefaultInstanceForType() {
        return CommEventLog.getDefaultInstance();
      }

      @Override
      public CommEventLog build() {
        CommEventLog result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public CommEventLog buildPartial() {
        CommEventLog result = new CommEventLog(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.logId_ = logId_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.eventState_ = eventState_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.eventLevel_ = eventLevel_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          to_bitField0_ |= 0x00000008;
        }
        result.unitIdx_ = unitIdx_;
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.eventType_ = eventType_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          to_bitField0_ |= 0x00000020;
        }
        result.eventTypeName_ = eventTypeName_;
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.subSysType_ = subSysType_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          to_bitField0_ |= 0x00000080;
        }
        result.eventName_ = eventName_;
        if (((from_bitField0_ & 0x00000100) != 0)) {
          to_bitField0_ |= 0x00000100;
        }
        result.startTime_ = startTime_;
        if (((from_bitField0_ & 0x00000200) != 0)) {
          to_bitField0_ |= 0x00000200;
        }
        result.stopTime_ = stopTime_;
        if (((from_bitField0_ & 0x00000400) != 0)) {
          to_bitField0_ |= 0x00000400;
        }
        result.sourceIdx_ = sourceIdx_;
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.sourceType_ = sourceType_;
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          to_bitField0_ |= 0x00001000;
        }
        result.sourceName_ = sourceName_;
        if (((from_bitField0_ & 0x00002000) != 0)) {
          to_bitField0_ |= 0x00002000;
        }
        result.logTxt_ = logTxt_;
        if (((from_bitField0_ & 0x00004000) != 0)) {
          to_bitField0_ |= 0x00004000;
        }
        result.regionIdx_ = regionIdx_;
        if (((from_bitField0_ & 0x00008000) != 0)) {
          to_bitField0_ |= 0x00008000;
        }
        result.extInfo_ = extInfo_;
        if (((bitField0_ & 0x00010000) != 0)) {
          userId_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00010000);
        }
        result.userId_ = userId_;
        if (rsltMsgBuilder_ == null) {
          if (((bitField0_ & 0x00020000) != 0)) {
            rsltMsg_ = java.util.Collections.unmodifiableList(rsltMsg_);
            bitField0_ = (bitField0_ & ~0x00020000);
          }
          result.rsltMsg_ = rsltMsg_;
        } else {
          result.rsltMsg_ = rsltMsgBuilder_.build();
        }
        if (trigInfoBuilder_ == null) {
          if (((bitField0_ & 0x00040000) != 0)) {
            trigInfo_ = java.util.Collections.unmodifiableList(trigInfo_);
            bitField0_ = (bitField0_ & ~0x00040000);
          }
          result.trigInfo_ = trigInfo_;
        } else {
          result.trigInfo_ = trigInfoBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof CommEventLog) {
          return mergeFrom((CommEventLog)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(CommEventLog other) {
        if (other == CommEventLog.getDefaultInstance()) return this;
        if (other.hasLogId()) {
          bitField0_ |= 0x00000001;
          logId_ = other.logId_;
          onChanged();
        }
        if (other.hasEventState()) {
          setEventState(other.getEventState());
        }
        if (other.hasEventLevel()) {
          setEventLevel(other.getEventLevel());
        }
        if (other.hasUnitIdx()) {
          bitField0_ |= 0x00000008;
          unitIdx_ = other.unitIdx_;
          onChanged();
        }
        if (other.hasEventType()) {
          setEventType(other.getEventType());
        }
        if (other.hasEventTypeName()) {
          bitField0_ |= 0x00000020;
          eventTypeName_ = other.eventTypeName_;
          onChanged();
        }
        if (other.hasSubSysType()) {
          setSubSysType(other.getSubSysType());
        }
        if (other.hasEventName()) {
          bitField0_ |= 0x00000080;
          eventName_ = other.eventName_;
          onChanged();
        }
        if (other.hasStartTime()) {
          bitField0_ |= 0x00000100;
          startTime_ = other.startTime_;
          onChanged();
        }
        if (other.hasStopTime()) {
          bitField0_ |= 0x00000200;
          stopTime_ = other.stopTime_;
          onChanged();
        }
        if (other.hasSourceIdx()) {
          bitField0_ |= 0x00000400;
          sourceIdx_ = other.sourceIdx_;
          onChanged();
        }
        if (other.hasSourceType()) {
          setSourceType(other.getSourceType());
        }
        if (other.hasSourceName()) {
          bitField0_ |= 0x00001000;
          sourceName_ = other.sourceName_;
          onChanged();
        }
        if (other.hasLogTxt()) {
          bitField0_ |= 0x00002000;
          logTxt_ = other.logTxt_;
          onChanged();
        }
        if (other.hasRegionIdx()) {
          bitField0_ |= 0x00004000;
          regionIdx_ = other.regionIdx_;
          onChanged();
        }
        if (other.hasExtInfo()) {
          setExtInfo(other.getExtInfo());
        }
        if (!other.userId_.isEmpty()) {
          if (userId_.isEmpty()) {
            userId_ = other.userId_;
            bitField0_ = (bitField0_ & ~0x00010000);
          } else {
            ensureUserIdIsMutable();
            userId_.addAll(other.userId_);
          }
          onChanged();
        }
        if (rsltMsgBuilder_ == null) {
          if (!other.rsltMsg_.isEmpty()) {
            if (rsltMsg_.isEmpty()) {
              rsltMsg_ = other.rsltMsg_;
              bitField0_ = (bitField0_ & ~0x00020000);
            } else {
              ensureRsltMsgIsMutable();
              rsltMsg_.addAll(other.rsltMsg_);
            }
            onChanged();
          }
        } else {
          if (!other.rsltMsg_.isEmpty()) {
            if (rsltMsgBuilder_.isEmpty()) {
              rsltMsgBuilder_.dispose();
              rsltMsgBuilder_ = null;
              rsltMsg_ = other.rsltMsg_;
              bitField0_ = (bitField0_ & ~0x00020000);
              rsltMsgBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRsltMsgFieldBuilder() : null;
            } else {
              rsltMsgBuilder_.addAllMessages(other.rsltMsg_);
            }
          }
        }
        if (trigInfoBuilder_ == null) {
          if (!other.trigInfo_.isEmpty()) {
            if (trigInfo_.isEmpty()) {
              trigInfo_ = other.trigInfo_;
              bitField0_ = (bitField0_ & ~0x00040000);
            } else {
              ensureTrigInfoIsMutable();
              trigInfo_.addAll(other.trigInfo_);
            }
            onChanged();
          }
        } else {
          if (!other.trigInfo_.isEmpty()) {
            if (trigInfoBuilder_.isEmpty()) {
              trigInfoBuilder_.dispose();
              trigInfoBuilder_ = null;
              trigInfo_ = other.trigInfo_;
              bitField0_ = (bitField0_ & ~0x00040000);
              trigInfoBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getTrigInfoFieldBuilder() : null;
            } else {
              trigInfoBuilder_.addAllMessages(other.trigInfo_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        if (!hasLogId()) {
          return false;
        }
        if (!hasEventState()) {
          return false;
        }
        for (int i = 0; i < getRsltMsgCount(); i++) {
          if (!getRsltMsg(i).isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getTrigInfoCount(); i++) {
          if (!getTrigInfo(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        CommEventLog parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (CommEventLog) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private Object logId_ = "";
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @return Whether the logId field is set.
       */
      public boolean hasLogId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @return The logId.
       */
      public String getLogId() {
        Object ref = logId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            logId_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @return The bytes for logId.
       */
      public com.google.protobuf.ByteString
          getLogIdBytes() {
        Object ref = logId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          logId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @param value The logId to set.
       * @return This builder for chaining.
       */
      public Builder setLogId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        logId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        logId_ = getDefaultInstance().getLogId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *日志Id，唯一标识一次发生的事件
       * </pre>
       *
       * <code>required string log_id = 1;</code>
       * @param value The bytes for logId to set.
       * @return This builder for chaining.
       */
      public Builder setLogIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        logId_ = value;
        onChanged();
        return this;
      }

      private int eventState_ ;
      /**
       * <pre>
       *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
       * </pre>
       *
       * <code>required int32 event_state = 2;</code>
       * @return Whether the eventState field is set.
       */
      @Override
      public boolean hasEventState() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <pre>
       *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
       * </pre>
       *
       * <code>required int32 event_state = 2;</code>
       * @return The eventState.
       */
      @Override
      public int getEventState() {
        return eventState_;
      }
      /**
       * <pre>
       *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
       * </pre>
       *
       * <code>required int32 event_state = 2;</code>
       * @param value The eventState to set.
       * @return This builder for chaining.
       */
      public Builder setEventState(int value) {
        bitField0_ |= 0x00000002;
        eventState_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件状态，事件状态为开始或者瞬时时保存事件，状态为结束时更新日志结束时间，状态为更新时保存联动结果
       * </pre>
       *
       * <code>required int32 event_state = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventState() {
        bitField0_ = (bitField0_ & ~0x00000002);
        eventState_ = 0;
        onChanged();
        return this;
      }

      private int eventLevel_ ;
      /**
       * <pre>
       *事件等级
       * </pre>
       *
       * <code>optional int32 event_level = 3;</code>
       * @return Whether the eventLevel field is set.
       */
      @Override
      public boolean hasEventLevel() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <pre>
       *事件等级
       * </pre>
       *
       * <code>optional int32 event_level = 3;</code>
       * @return The eventLevel.
       */
      @Override
      public int getEventLevel() {
        return eventLevel_;
      }
      /**
       * <pre>
       *事件等级
       * </pre>
       *
       * <code>optional int32 event_level = 3;</code>
       * @param value The eventLevel to set.
       * @return This builder for chaining.
       */
      public Builder setEventLevel(int value) {
        bitField0_ |= 0x00000004;
        eventLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件等级
       * </pre>
       *
       * <code>optional int32 event_level = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventLevel() {
        bitField0_ = (bitField0_ & ~0x00000004);
        eventLevel_ = 0;
        onChanged();
        return this;
      }

      private Object unitIdx_ = "";
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @return Whether the unitIdx field is set.
       */
      public boolean hasUnitIdx() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @return The unitIdx.
       */
      public String getUnitIdx() {
        Object ref = unitIdx_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            unitIdx_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @return The bytes for unitIdx.
       */
      public com.google.protobuf.ByteString
          getUnitIdxBytes() {
        Object ref = unitIdx_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          unitIdx_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @param value The unitIdx to set.
       * @return This builder for chaining.
       */
      public Builder setUnitIdx(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        unitIdx_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearUnitIdx() {
        bitField0_ = (bitField0_ & ~0x00000008);
        unitIdx_ = getDefaultInstance().getUnitIdx();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *控制中心编号
       * </pre>
       *
       * <code>optional string unit_idx = 4;</code>
       * @param value The bytes for unitIdx to set.
       * @return This builder for chaining.
       */
      public Builder setUnitIdxBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        unitIdx_ = value;
        onChanged();
        return this;
      }

      private int eventType_ ;
      /**
       * <pre>
       *事件类型
       * </pre>
       *
       * <code>optional int32 event_type = 5;</code>
       * @return Whether the eventType field is set.
       */
      @Override
      public boolean hasEventType() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <pre>
       *事件类型
       * </pre>
       *
       * <code>optional int32 event_type = 5;</code>
       * @return The eventType.
       */
      @Override
      public int getEventType() {
        return eventType_;
      }
      /**
       * <pre>
       *事件类型
       * </pre>
       *
       * <code>optional int32 event_type = 5;</code>
       * @param value The eventType to set.
       * @return This builder for chaining.
       */
      public Builder setEventType(int value) {
        bitField0_ |= 0x00000010;
        eventType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件类型
       * </pre>
       *
       * <code>optional int32 event_type = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        eventType_ = 0;
        onChanged();
        return this;
      }

      private Object eventTypeName_ = "";
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @return Whether the eventTypeName field is set.
       */
      public boolean hasEventTypeName() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @return The eventTypeName.
       */
      public String getEventTypeName() {
        Object ref = eventTypeName_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            eventTypeName_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @return The bytes for eventTypeName.
       */
      public com.google.protobuf.ByteString
          getEventTypeNameBytes() {
        Object ref = eventTypeName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          eventTypeName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @param value The eventTypeName to set.
       * @return This builder for chaining.
       */
      public Builder setEventTypeName(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        eventTypeName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventTypeName() {
        bitField0_ = (bitField0_ & ~0x00000020);
        eventTypeName_ = getDefaultInstance().getEventTypeName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件类型名称
       * </pre>
       *
       * <code>optional string event_type_name = 6;</code>
       * @param value The bytes for eventTypeName to set.
       * @return This builder for chaining.
       */
      public Builder setEventTypeNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        eventTypeName_ = value;
        onChanged();
        return this;
      }

      private int subSysType_ ;
      /**
       * <pre>
       *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
       * </pre>
       *
       * <code>optional int32 sub_sys_type = 7;</code>
       * @return Whether the subSysType field is set.
       */
      @Override
      public boolean hasSubSysType() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <pre>
       *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
       * </pre>
       *
       * <code>optional int32 sub_sys_type = 7;</code>
       * @return The subSysType.
       */
      @Override
      public int getSubSysType() {
        return subSysType_;
      }
      /**
       * <pre>
       *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
       * </pre>
       *
       * <code>optional int32 sub_sys_type = 7;</code>
       * @param value The subSysType to set.
       * @return This builder for chaining.
       */
      public Builder setSubSysType(int value) {
        bitField0_ |= 0x00000040;
        subSysType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件所属子系统类型，废弃，事件整改，没有子系统属性了2015-10-28 13:45:13
       * </pre>
       *
       * <code>optional int32 sub_sys_type = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearSubSysType() {
        bitField0_ = (bitField0_ & ~0x00000040);
        subSysType_ = 0;
        onChanged();
        return this;
      }

      private Object eventName_ = "";
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @return Whether the eventName field is set.
       */
      public boolean hasEventName() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @return The eventName.
       */
      public String getEventName() {
        Object ref = eventName_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            eventName_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @return The bytes for eventName.
       */
      public com.google.protobuf.ByteString
          getEventNameBytes() {
        Object ref = eventName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          eventName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @param value The eventName to set.
       * @return This builder for chaining.
       */
      public Builder setEventName(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        eventName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventName() {
        bitField0_ = (bitField0_ & ~0x00000080);
        eventName_ = getDefaultInstance().getEventName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件名称
       * </pre>
       *
       * <code>optional string event_name = 8;</code>
       * @param value The bytes for eventName to set.
       * @return This builder for chaining.
       */
      public Builder setEventNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        eventName_ = value;
        onChanged();
        return this;
      }

      private Object startTime_ = "";
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @return Whether the startTime field is set.
       */
      public boolean hasStartTime() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @return The startTime.
       */
      public String getStartTime() {
        Object ref = startTime_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            startTime_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @return The bytes for startTime.
       */
      public com.google.protobuf.ByteString
          getStartTimeBytes() {
        Object ref = startTime_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          startTime_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @param value The startTime to set.
       * @return This builder for chaining.
       */
      public Builder setStartTime(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
        startTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearStartTime() {
        bitField0_ = (bitField0_ & ~0x00000100);
        startTime_ = getDefaultInstance().getStartTime();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *开始时间
       * </pre>
       *
       * <code>optional string start_time = 9;</code>
       * @param value The bytes for startTime to set.
       * @return This builder for chaining.
       */
      public Builder setStartTimeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
        startTime_ = value;
        onChanged();
        return this;
      }

      private Object stopTime_ = "";
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @return Whether the stopTime field is set.
       */
      public boolean hasStopTime() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @return The stopTime.
       */
      public String getStopTime() {
        Object ref = stopTime_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stopTime_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @return The bytes for stopTime.
       */
      public com.google.protobuf.ByteString
          getStopTimeBytes() {
        Object ref = stopTime_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          stopTime_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @param value The stopTime to set.
       * @return This builder for chaining.
       */
      public Builder setStopTime(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
        stopTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearStopTime() {
        bitField0_ = (bitField0_ & ~0x00000200);
        stopTime_ = getDefaultInstance().getStopTime();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *结束时间
       * </pre>
       *
       * <code>optional string stop_time = 10;</code>
       * @param value The bytes for stopTime to set.
       * @return This builder for chaining.
       */
      public Builder setStopTimeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
        stopTime_ = value;
        onChanged();
        return this;
      }

      private Object sourceIdx_ = "";
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @return Whether the sourceIdx field is set.
       */
      public boolean hasSourceIdx() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @return The sourceIdx.
       */
      public String getSourceIdx() {
        Object ref = sourceIdx_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            sourceIdx_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @return The bytes for sourceIdx.
       */
      public com.google.protobuf.ByteString
          getSourceIdxBytes() {
        Object ref = sourceIdx_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sourceIdx_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @param value The sourceIdx to set.
       * @return This builder for chaining.
       */
      public Builder setSourceIdx(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        sourceIdx_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearSourceIdx() {
        bitField0_ = (bitField0_ & ~0x00000400);
        sourceIdx_ = getDefaultInstance().getSourceIdx();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源编号
       * </pre>
       *
       * <code>optional string source_idx = 11;</code>
       * @param value The bytes for sourceIdx to set.
       * @return This builder for chaining.
       */
      public Builder setSourceIdxBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        sourceIdx_ = value;
        onChanged();
        return this;
      }

      private int sourceType_ ;
      /**
       * <pre>
       *事件源类型
       * </pre>
       *
       * <code>optional int32 source_type = 12;</code>
       * @return Whether the sourceType field is set.
       */
      @Override
      public boolean hasSourceType() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * <pre>
       *事件源类型
       * </pre>
       *
       * <code>optional int32 source_type = 12;</code>
       * @return The sourceType.
       */
      @Override
      public int getSourceType() {
        return sourceType_;
      }
      /**
       * <pre>
       *事件源类型
       * </pre>
       *
       * <code>optional int32 source_type = 12;</code>
       * @param value The sourceType to set.
       * @return This builder for chaining.
       */
      public Builder setSourceType(int value) {
        bitField0_ |= 0x00000800;
        sourceType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源类型
       * </pre>
       *
       * <code>optional int32 source_type = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearSourceType() {
        bitField0_ = (bitField0_ & ~0x00000800);
        sourceType_ = 0;
        onChanged();
        return this;
      }

      private Object sourceName_ = "";
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @return Whether the sourceName field is set.
       */
      public boolean hasSourceName() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @return The sourceName.
       */
      public String getSourceName() {
        Object ref = sourceName_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            sourceName_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @return The bytes for sourceName.
       */
      public com.google.protobuf.ByteString
          getSourceNameBytes() {
        Object ref = sourceName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sourceName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @param value The sourceName to set.
       * @return This builder for chaining.
       */
      public Builder setSourceName(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        sourceName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearSourceName() {
        bitField0_ = (bitField0_ & ~0x00001000);
        sourceName_ = getDefaultInstance().getSourceName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源名称
       * </pre>
       *
       * <code>optional string source_name = 13;</code>
       * @param value The bytes for sourceName to set.
       * @return This builder for chaining.
       */
      public Builder setSourceNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        sourceName_ = value;
        onChanged();
        return this;
      }

      private Object logTxt_ = "";
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @return Whether the logTxt field is set.
       */
      public boolean hasLogTxt() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @return The logTxt.
       */
      public String getLogTxt() {
        Object ref = logTxt_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            logTxt_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @return The bytes for logTxt.
       */
      public com.google.protobuf.ByteString
          getLogTxtBytes() {
        Object ref = logTxt_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          logTxt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @param value The logTxt to set.
       * @return This builder for chaining.
       */
      public Builder setLogTxt(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        logTxt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogTxt() {
        bitField0_ = (bitField0_ & ~0x00002000);
        logTxt_ = getDefaultInstance().getLogTxt();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件描述信息
       * </pre>
       *
       * <code>optional string log_txt = 14;</code>
       * @param value The bytes for logTxt to set.
       * @return This builder for chaining.
       */
      public Builder setLogTxtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        logTxt_ = value;
        onChanged();
        return this;
      }

      private Object regionIdx_ = "";
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @return Whether the regionIdx field is set.
       */
      public boolean hasRegionIdx() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @return The regionIdx.
       */
      public String getRegionIdx() {
        Object ref = regionIdx_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            regionIdx_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @return The bytes for regionIdx.
       */
      public com.google.protobuf.ByteString
          getRegionIdxBytes() {
        Object ref = regionIdx_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          regionIdx_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @param value The regionIdx to set.
       * @return This builder for chaining.
       */
      public Builder setRegionIdx(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        regionIdx_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionIdx() {
        bitField0_ = (bitField0_ & ~0x00004000);
        regionIdx_ = getDefaultInstance().getRegionIdx();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件源区域编号，可选
       * </pre>
       *
       * <code>optional string region_idx = 15;</code>
       * @param value The bytes for regionIdx to set.
       * @return This builder for chaining.
       */
      public Builder setRegionIdxBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        regionIdx_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString extInfo_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
       * </pre>
       *
       * <code>optional bytes ext_info = 20;</code>
       * @return Whether the extInfo field is set.
       */
      @Override
      public boolean hasExtInfo() {
        return ((bitField0_ & 0x00008000) != 0);
      }
      /**
       * <pre>
       *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
       * </pre>
       *
       * <code>optional bytes ext_info = 20;</code>
       * @return The extInfo.
       */
      @Override
      public com.google.protobuf.ByteString getExtInfo() {
        return extInfo_;
      }
      /**
       * <pre>
       *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
       * </pre>
       *
       * <code>optional bytes ext_info = 20;</code>
       * @param value The extInfo to set.
       * @return This builder for chaining.
       */
      public Builder setExtInfo(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
        extInfo_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件扩展信息,各个子系统根据子系统的消息结构体定义解析
       * </pre>
       *
       * <code>optional bytes ext_info = 20;</code>
       * @return This builder for chaining.
       */
      public Builder clearExtInfo() {
        bitField0_ = (bitField0_ & ~0x00008000);
        extInfo_ = getDefaultInstance().getExtInfo();
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList userId_ = emptyIntList();
      private void ensureUserIdIsMutable() {
        if (!((bitField0_ & 0x00010000) != 0)) {
          userId_ = mutableCopy(userId_);
          bitField0_ |= 0x00010000;
         }
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @return A list containing the userId.
       */
      public java.util.List<Integer>
          getUserIdList() {
        return ((bitField0_ & 0x00010000) != 0) ?
                 java.util.Collections.unmodifiableList(userId_) : userId_;
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @return The count of userId.
       */
      public int getUserIdCount() {
        return userId_.size();
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @param index The index of the element to return.
       * @return The userId at the given index.
       */
      public int getUserId(int index) {
        return userId_.getInt(index);
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @param index The index to set the value at.
       * @param value The userId to set.
       * @return This builder for chaining.
       */
      public Builder setUserId(
          int index, int value) {
        ensureUserIdIsMutable();
        userId_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @param value The userId to add.
       * @return This builder for chaining.
       */
      public Builder addUserId(int value) {
        ensureUserIdIsMutable();
        userId_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @param values The userId to add.
       * @return This builder for chaining.
       */
      public Builder addAllUserId(
          Iterable<? extends Integer> values) {
        ensureUserIdIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, userId_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *事件接收的User Id数组,用于日志查询权限控制
       * </pre>
       *
       * <code>repeated int32 user_id = 21;</code>
       * @return This builder for chaining.
       */
      public Builder clearUserId() {
        userId_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00010000);
        onChanged();
        return this;
      }

      private java.util.List<Comm.TriggerResult> rsltMsg_ =
        java.util.Collections.emptyList();
      private void ensureRsltMsgIsMutable() {
        if (!((bitField0_ & 0x00020000) != 0)) {
          rsltMsg_ = new java.util.ArrayList<Comm.TriggerResult>(rsltMsg_);
          bitField0_ |= 0x00020000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          Comm.TriggerResult, Comm.TriggerResult.Builder, Comm.TriggerResultOrBuilder> rsltMsgBuilder_;

      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public java.util.List<Comm.TriggerResult> getRsltMsgList() {
        if (rsltMsgBuilder_ == null) {
          return java.util.Collections.unmodifiableList(rsltMsg_);
        } else {
          return rsltMsgBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public int getRsltMsgCount() {
        if (rsltMsgBuilder_ == null) {
          return rsltMsg_.size();
        } else {
          return rsltMsgBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Comm.TriggerResult getRsltMsg(int index) {
        if (rsltMsgBuilder_ == null) {
          return rsltMsg_.get(index);
        } else {
          return rsltMsgBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder setRsltMsg(
          int index, Comm.TriggerResult value) {
        if (rsltMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRsltMsgIsMutable();
          rsltMsg_.set(index, value);
          onChanged();
        } else {
          rsltMsgBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder setRsltMsg(
          int index, Comm.TriggerResult.Builder builderForValue) {
        if (rsltMsgBuilder_ == null) {
          ensureRsltMsgIsMutable();
          rsltMsg_.set(index, builderForValue.build());
          onChanged();
        } else {
          rsltMsgBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder addRsltMsg(Comm.TriggerResult value) {
        if (rsltMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRsltMsgIsMutable();
          rsltMsg_.add(value);
          onChanged();
        } else {
          rsltMsgBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder addRsltMsg(
          int index, Comm.TriggerResult value) {
        if (rsltMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRsltMsgIsMutable();
          rsltMsg_.add(index, value);
          onChanged();
        } else {
          rsltMsgBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder addRsltMsg(
          Comm.TriggerResult.Builder builderForValue) {
        if (rsltMsgBuilder_ == null) {
          ensureRsltMsgIsMutable();
          rsltMsg_.add(builderForValue.build());
          onChanged();
        } else {
          rsltMsgBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder addRsltMsg(
          int index, Comm.TriggerResult.Builder builderForValue) {
        if (rsltMsgBuilder_ == null) {
          ensureRsltMsgIsMutable();
          rsltMsg_.add(index, builderForValue.build());
          onChanged();
        } else {
          rsltMsgBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder addAllRsltMsg(
          Iterable<? extends Comm.TriggerResult> values) {
        if (rsltMsgBuilder_ == null) {
          ensureRsltMsgIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, rsltMsg_);
          onChanged();
        } else {
          rsltMsgBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder clearRsltMsg() {
        if (rsltMsgBuilder_ == null) {
          rsltMsg_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00020000);
          onChanged();
        } else {
          rsltMsgBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Builder removeRsltMsg(int index) {
        if (rsltMsgBuilder_ == null) {
          ensureRsltMsgIsMutable();
          rsltMsg_.remove(index);
          onChanged();
        } else {
          rsltMsgBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Comm.TriggerResult.Builder getRsltMsgBuilder(
          int index) {
        return getRsltMsgFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Comm.TriggerResultOrBuilder getRsltMsgOrBuilder(
          int index) {
        if (rsltMsgBuilder_ == null) {
          return rsltMsg_.get(index);  } else {
          return rsltMsgBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public java.util.List<? extends Comm.TriggerResultOrBuilder>
           getRsltMsgOrBuilderList() {
        if (rsltMsgBuilder_ != null) {
          return rsltMsgBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(rsltMsg_);
        }
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Comm.TriggerResult.Builder addRsltMsgBuilder() {
        return getRsltMsgFieldBuilder().addBuilder(
            Comm.TriggerResult.getDefaultInstance());
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public Comm.TriggerResult.Builder addRsltMsgBuilder(
          int index) {
        return getRsltMsgFieldBuilder().addBuilder(
            index, Comm.TriggerResult.getDefaultInstance());
      }
      /**
       * <pre>
       *事件处理结果，当event_state为更新时使用
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.TriggerResult rslt_msg = 33;</code>
       */
      public java.util.List<Comm.TriggerResult.Builder>
           getRsltMsgBuilderList() {
        return getRsltMsgFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          Comm.TriggerResult, Comm.TriggerResult.Builder, Comm.TriggerResultOrBuilder>
          getRsltMsgFieldBuilder() {
        if (rsltMsgBuilder_ == null) {
          rsltMsgBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              Comm.TriggerResult, Comm.TriggerResult.Builder, Comm.TriggerResultOrBuilder>(
                  rsltMsg_,
                  ((bitField0_ & 0x00020000) != 0),
                  getParentForChildren(),
                  isClean());
          rsltMsg_ = null;
        }
        return rsltMsgBuilder_;
      }

      private java.util.List<Comm.CommEventTrig> trigInfo_ =
        java.util.Collections.emptyList();
      private void ensureTrigInfoIsMutable() {
        if (!((bitField0_ & 0x00040000) != 0)) {
          trigInfo_ = new java.util.ArrayList<Comm.CommEventTrig>(trigInfo_);
          bitField0_ |= 0x00040000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          Comm.CommEventTrig, Comm.CommEventTrig.Builder, Comm.CommEventTrigOrBuilder> trigInfoBuilder_;

      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public java.util.List<Comm.CommEventTrig> getTrigInfoList() {
        if (trigInfoBuilder_ == null) {
          return java.util.Collections.unmodifiableList(trigInfo_);
        } else {
          return trigInfoBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public int getTrigInfoCount() {
        if (trigInfoBuilder_ == null) {
          return trigInfo_.size();
        } else {
          return trigInfoBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Comm.CommEventTrig getTrigInfo(int index) {
        if (trigInfoBuilder_ == null) {
          return trigInfo_.get(index);
        } else {
          return trigInfoBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder setTrigInfo(
          int index, Comm.CommEventTrig value) {
        if (trigInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTrigInfoIsMutable();
          trigInfo_.set(index, value);
          onChanged();
        } else {
          trigInfoBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder setTrigInfo(
          int index, Comm.CommEventTrig.Builder builderForValue) {
        if (trigInfoBuilder_ == null) {
          ensureTrigInfoIsMutable();
          trigInfo_.set(index, builderForValue.build());
          onChanged();
        } else {
          trigInfoBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder addTrigInfo(Comm.CommEventTrig value) {
        if (trigInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTrigInfoIsMutable();
          trigInfo_.add(value);
          onChanged();
        } else {
          trigInfoBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder addTrigInfo(
          int index, Comm.CommEventTrig value) {
        if (trigInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTrigInfoIsMutable();
          trigInfo_.add(index, value);
          onChanged();
        } else {
          trigInfoBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder addTrigInfo(
          Comm.CommEventTrig.Builder builderForValue) {
        if (trigInfoBuilder_ == null) {
          ensureTrigInfoIsMutable();
          trigInfo_.add(builderForValue.build());
          onChanged();
        } else {
          trigInfoBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder addTrigInfo(
          int index, Comm.CommEventTrig.Builder builderForValue) {
        if (trigInfoBuilder_ == null) {
          ensureTrigInfoIsMutable();
          trigInfo_.add(index, builderForValue.build());
          onChanged();
        } else {
          trigInfoBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder addAllTrigInfo(
          Iterable<? extends Comm.CommEventTrig> values) {
        if (trigInfoBuilder_ == null) {
          ensureTrigInfoIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, trigInfo_);
          onChanged();
        } else {
          trigInfoBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder clearTrigInfo() {
        if (trigInfoBuilder_ == null) {
          trigInfo_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00040000);
          onChanged();
        } else {
          trigInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Builder removeTrigInfo(int index) {
        if (trigInfoBuilder_ == null) {
          ensureTrigInfoIsMutable();
          trigInfo_.remove(index);
          onChanged();
        } else {
          trigInfoBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Comm.CommEventTrig.Builder getTrigInfoBuilder(
          int index) {
        return getTrigInfoFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Comm.CommEventTrigOrBuilder getTrigInfoOrBuilder(
          int index) {
        if (trigInfoBuilder_ == null) {
          return trigInfo_.get(index);  } else {
          return trigInfoBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public java.util.List<? extends Comm.CommEventTrigOrBuilder>
           getTrigInfoOrBuilderList() {
        if (trigInfoBuilder_ != null) {
          return trigInfoBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(trigInfo_);
        }
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Comm.CommEventTrig.Builder addTrigInfoBuilder() {
        return getTrigInfoFieldBuilder().addBuilder(
            Comm.CommEventTrig.getDefaultInstance());
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public Comm.CommEventTrig.Builder addTrigInfoBuilder(
          int index) {
        return getTrigInfoFieldBuilder().addBuilder(
            index, Comm.CommEventTrig.getDefaultInstance());
      }
      /**
       * <pre>
       *联动信息，目前包含客户端联动、预案     
       * </pre>
       *
       * <code>repeated .org.jeecg.modules.pm.entity.eps.CommEventTrig trig_info = 34;</code>
       */
      public java.util.List<Comm.CommEventTrig.Builder>
           getTrigInfoBuilderList() {
        return getTrigInfoFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          Comm.CommEventTrig, Comm.CommEventTrig.Builder, Comm.CommEventTrigOrBuilder>
          getTrigInfoFieldBuilder() {
        if (trigInfoBuilder_ == null) {
          trigInfoBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              Comm.CommEventTrig, Comm.CommEventTrig.Builder, Comm.CommEventTrigOrBuilder>(
                  trigInfo_,
                  ((bitField0_ & 0x00040000) != 0),
                  getParentForChildren(),
                  isClean());
          trigInfo_ = null;
        }
        return trigInfoBuilder_;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:org.jeecg.modules.pm.entity.eps.CommEventLog)
    }

    // @@protoc_insertion_point(class_scope:org.jeecg.modules.pm.entity.eps.CommEventLog)
    private static final CommEventLog DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new CommEventLog();
    }

    public static CommEventLog getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @Deprecated public static final com.google.protobuf.Parser<CommEventLog>
        PARSER = new com.google.protobuf.AbstractParser<CommEventLog>() {
      @Override
      public CommEventLog parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CommEventLog(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CommEventLog> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<CommEventLog> getParserForType() {
      return PARSER;
    }

    @Override
    public CommEventLog getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\017event_dis.proto\022\037org.jeecg.modules.pm." +
      "entity.eps\032\ncomm.proto\"\343\003\n\014CommEventLog\022" +
      "\016\n\006log_id\030\001 \002(\t\022\023\n\013event_state\030\002 \002(\005\022\023\n\013" +
      "event_level\030\003 \001(\005\022\020\n\010unit_idx\030\004 \001(\t\022\022\n\ne" +
      "vent_type\030\005 \001(\005\022\027\n\017event_type_name\030\006 \001(\t" +
      "\022\024\n\014sub_sys_type\030\007 \001(\005\022\022\n\nevent_name\030\010 \001" +
      "(\t\022\022\n\nstart_time\030\t \001(\t\022\021\n\tstop_time\030\n \001(" +
      "\t\022\022\n\nsource_idx\030\013 \001(\t\022\023\n\013source_type\030\014 \001" +
      "(\005\022\023\n\013source_name\030\r \001(\t\022\017\n\007log_txt\030\016 \001(\t" +
      "\022\022\n\nregion_idx\030\017 \001(\t\022\020\n\010ext_info\030\024 \001(\014\022\017" +
      "\n\007user_id\030\025 \003(\005\022@\n\010rslt_msg\030! \003(\0132..org." +
      "jeecg.modules.pm.entity.eps.TriggerResul" +
      "t\022A\n\ttrig_info\030\" \003(\0132..org.jeecg.modules" +
      ".pm.entity.eps.CommEventTrig"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          Comm.getDescriptor(),
        });
    internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_org_jeecg_modules_pm_entity_eps_CommEventLog_descriptor,
        new String[] { "LogId", "EventState", "EventLevel", "UnitIdx", "EventType", "EventTypeName", "SubSysType", "EventName", "StartTime", "StopTime", "SourceIdx", "SourceType", "SourceName", "LogTxt", "RegionIdx", "ExtInfo", "UserId", "RsltMsg", "TrigInfo", });
    Comm.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
