com.supermap.data

类 Contingency

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.Contingency
  • 所有已实现的接口:
    IDisposable


    public class Contingency
    extends com.supermap.data.InternalHandleDisposable
    条件值类,表示单个条件值。

    条件值是一种数据设计要素,使用一个字段值进一步限制另外一个字段的值。

    可通过条件值应用附加约束,以减少有效字段输入的选项来强制保持数据完整性。

    一个条件值包含多个字段值信息ContingentValue,值信息类型包含Any、Null、Code和Range类型。

    该类适用的引擎类型EngineType包括:UDBX、PostGIS。

    示范代码:

    以下代码示范如何创建条件值并添加到条件值集合。

    
          //获取条件值集合
          Contingencies contingencies = datasetVector.getContingencies();
          //创建条件值,传入字段组
          Contingency contingency = new Contingency(fieldGroup);
          //创建字段约束
          HashMap<String, ContingentValue> map = new HashMap<>();
          CodeInfo codeInfo = new CodeInfo(FieldType.INT32, 1, "code1");
          ContingentCodeValue codeValue = new ContingentCodeValue("Field1", codeInfo);
          map.put(codeValue.getFieldName(), codeValue);
          RangeInfo rangeInfo = new RangeInfo(FieldType.INT32, 10, 20, RangeType.CLOSE_CLOSE);
          ContingentRangeValue rangeValue = new ContingentRangeValue("Field2", rangeInfo);
          map.put(rangeValue.getFieldName(), rangeValue);
          //添加约束到条件值
          contingency.setContingentValues(map);
          contingencies.addContingency(contingency);
         
     
    从以下版本开始:
    12.0.0
    另请参阅:
    FieldGroup, ContingentValue
    • 构造器详细资料

      • Contingency

        public Contingency(FieldGroup fieldGroup)
        通过字段组创建一个条件值。

        新创建条件值ID都为*,保存到数据集中后才会分配有效ID。

        参数:
        fieldGroup - 条件值所属字段组。
        从以下版本开始:
        12.0.0
      • Contingency

        public Contingency(FieldGroup fieldGroup,
                           Subtype subtype)
        通过字段组和子类型创建一个条件值。

        新创建条件值ID都为*,保存到数据集中后才会分配有效ID。

        参数:
        fieldGroup - 条件值所属字段组。
        subtype - 条件值所属子类型。
        从以下版本开始:
        12.0.0
    • 方法详细资料

      • isRetired

        public boolean isRetired()
        获取该条件值是否禁用。

        禁用后该条件值不生效,创建的条件值默认不禁用。

        返回:
        true表示该条件值被禁用,false表示该条件值没有被禁用。
        从以下版本开始:
        12.0.0
      • setRetired

        public void setRetired(boolean isRetired)
        设置条件值是否禁用。
        参数:
        isRetired - true表示禁用,false表示不禁用,禁用后该条件值无法生效,默认不禁用。
        从以下版本开始:
        12.0.0
      • getID

        public String getID()
        获取条件值ID。

        条件值ID在矢量数据集中是唯一的,新创建但是还没有通过DatasetVector.setContingencies(Contingencies)保存到数据集的条件值ID为*,保存后分配ID,重新获取保存后的条件值,将返回有效ID。

        返回:
        条件值ID。
        从以下版本开始:
        12.0.0
      • getContingentValues

        public HashMap<String,ContingentValue> getContingentValues()
        获取当前条件值的约束,包含字段和对应的约束值。
        返回:
        字段和约束值,key表示字段名,value表示字段名对应的约束值。
        从以下版本开始:
        12.0.0
      • setContingentValues

        public boolean setContingentValues(HashMap<String,ContingentValue> contingentValues)
        设置条件值的约束,

        该约束的key是字段名,需满足字段名必须在字段组内并且包含该字段组内的所有的字段,如果不满足则设置失败。

        参数:
        contingentValues - 字段和约束值,key表示字段名,value表示字段名对应的约束值。
        返回:
        true表示设置成功,false表示设置失败,当约束的字段和条件值所属字段组的字段不对应,则设置失败。
        从以下版本开始:
        12.0.0
      • getFieldGroup

        public FieldGroup getFieldGroup()
        获取该条件值所属的字段组副本。
        返回:
        条件值所属的字段组副本。
        从以下版本开始:
        12.0.0
      • getSubtype

        public Subtype getSubtype()
        获取该条件值所属的子类型副本。

        子类型需要先使用DatasetVector.setSubtypes(Subtypes)保存到数据集后才能获取到,否则获取不到该条件值对应的子类型

        返回:
        条件值所属的子类型副本。
        从以下版本开始:
        12.0.0
      • dispose

        public void dispose()
        释放条件值。
        从以下版本开始:
        12.0.0

Copyright © 2021–2025 SuperMap. All rights reserved.