using Apache.IoTDB; using JiShe.CollectBus.Analyzers.Shared; namespace JiShe.CollectBus.IoTDB.Provider { /// /// 设备元数据 /// public sealed class DeviceMetadata { /// /// 实体类名称 /// public string EntityName { get; set; } /// /// 设备表名或树路径,如果实体没有添加TableNameOrTreePath,此处为空 /// public string TableNameOrTreePath { get; set; } /// /// 实体类型枚举 /// public EntityTypeEnum? EntityType { get; set; } /// /// 是否有单测量值 /// public bool IsSingleMeasuring { get; set; } /// /// 测量值集合,用于构建Table的测量值,也就是columnNames参数 /// public List ColumnNames { get; set; } = new(); /// /// 列类型集合,用于构建Table的列类型,也就是columnCategories参数 /// public List ColumnCategories { get; } = new(); /// /// 值类型集合,用于构建Table的值类型,也就是dataTypes参数 /// public List DataTypes { get; set; } = new(); /// /// 列处理信息集合 /// public List Processors { get; } = new List(); } /// /// 列处理信息结构 /// public struct ColumnProcessor { /// /// 列名 /// public string ColumnName; /// /// 值获取委托 /// public Func ValueGetter; /// /// 类型转换委托 /// public Func Converter; /// /// 是否单测点 /// public bool IsSingleMeasuring; /// /// 单测点名称委托 /// public Func SingleMeasuringNameGetter; } }