com.supermap.data

类 FieldInfo

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


    public class FieldInfo
    extends com.supermap.data.InternalHandleDisposable
    字段信息类。字段信息类用来存储字段的名称、类型、默认值以及长度等相关信息。 每一个字段对应一个 FieldInfo。对于矢量数据集的每一个字段,只有字段的别名(Caption)可以被修改,其他属性的修改需要依据具体引擎是否支持。

    FieldInfo 对象可以通过两种途径获取:一是可以从记录集(Recordset)中得到,注意此 Recordset 必须是进行查询时得到的。二是可以从矢量数据集(DatasetVector)中得到,并且在矢量数据集中还可以创建字段。

    示范代码:
    以下代码示范如何为数据集添加字段。假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象。
     public void fieldInfoTest()
     {
            // 从数据源中取出一个数据集 dataset,为其添加名为"Pop_2009" 的字段
            DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("World");
    
            // 实例化一个字段信息对象,对其进行设置
            FieldInfo fieldInfo = new FieldInfo();
            fieldInfo.setName("Pop_2009");
            fieldInfo.setCaption("Pop_2009");
            fieldInfo.setDefaultValue("0");
            fieldInfo.setType(FieldType.DOUBLE);
            fieldInfo.setRequired(true);
    
            // 将字段 "Pop_2009" 添加到数据集 dataset 中
            FieldInfos fieldInfos = dataset.getFieldInfos();
            fieldInfos.add(fieldInfo);
            fieldInfo.dispose();
        }
     
    • 构造器详细资料

      • FieldInfo

        public FieldInfo()
        构造一个新的 FieldInfo 对象。
      • FieldInfo

        public FieldInfo(FieldInfo fieldInfo)
        根据给定的 FieldInfo 对象构造一个与其完全相同的新对象。
        参数:
        fieldInfo - 指定的 FieldInfo 对象。
      • FieldInfo

        public FieldInfo(String name,
                         FieldType type)
        根据指定的参数来构造一个 FieldInfo 的新对象。
        参数:
        name - 指定的字段的名称。
        type - 指定的字段类型。有关字段类型的详细信息请参考 FieldType 类。
    • 方法详细资料

      • isZeroLengthAllowed

        public boolean isZeroLengthAllowed()
        返回一个值,该值指示字段是否允许零长度。只对文本类型(Text,Char 和 NVarChar)字段有效。
        返回:
        如果字段允许零长度则返回 true,否则返回 false。
        默认值:
        默认值为 true,即字段长度允许为 0。
      • setZeroLengthAllowed

        public void setZeroLengthAllowed(boolean value)
        设置字段是否允许零长度。只对文本字段有效。
        参数:
        value - 用来指定字段是否允许零长度的布尔值。
      • getCaption

        public String getCaption()

        返回此字段的别名。

        返回:
        此字段的别名。
        默认值:
        默认值为 "UntitledField"。
      • setCaption

        public void setCaption(String value)
        设置此字段的别名。

        别名可以不唯一,即不同的字段可以有相同的别名,而名称是用来唯一标识一个字段的,所以不可重名。

        参数:
        value - 此字段的别名。
        示范代码:
        请参见 FieldInfos 类的示例。
      • getDefaultValue

        public String getDefaultValue()
        返回此字段的默认值。当添加一条记录时,如果该字段未被赋值,则以该默认值作为该字段的值。
        返回:
        此字段的默认值。
        默认值:
        默认值为一个空字符串。
      • setDefaultValue

        public void setDefaultValue(String value)
        设置此字段的默认值。当添加一条记录时,如果该字段未被赋值,则以该默认值作为该字段的值。
        参数:
        value - 此字段的默认值。
        示范代码:
        请参见 FieldInfos 类的示例。
      • getName

        public String getName()
        返回字段的名称。 字段的名称只能由数字、字母和下划线组成,但不能以数字或下划线开头,获取的字段名不区分大小写; 用户新建字段时,字段名称不能以 SM 作为前缀,以SM作为前缀的都是 SuperMap 系统字段,SMUserID 除外; 字段的名称长度不能超过30个字符; 名称用于唯一标识该字段,所以字段不可重名。
        返回:
        字段的名称。
        默认值:
        默认值为 "UntitledField"。
      • setName

        public void setName(String value)
        设置字段的名称。 字段的名称只能由数字、字母和下划线组成,但不能以数字或下划线开头,postgis引擎的字段名中的字母默认设为小写。 用户新建字段时,字段名称不能以 SM 作为前缀,以 SM 作为前缀的都是 SuperMap 系统字段,SMUserID 除外; 字段的名称长度不能超过30个字符; 名称用于唯一标识该字段,所以字段不可重名。
        参数:
        value - 字段的名称。
        示范代码:
        请参见 FieldInfos 类的示例。
      • isSystemFieldName

        public boolean isSystemFieldName(String fieldName)
        判断字段名称是否是系统字段。
        参数:
        fieldName - 字段名称。
        返回:
        是系统字段返回true,否则返回false。
      • getPrecision

        public int getPrecision()
        获取字段精度。
        返回:
        字段精度。
        抛出:
        IllegalStateException - 字段数组对象、当前字段信息对象已被释放。
      • setPrecision

        public void setPrecision(int value)
        设置字段精度。
        参数:
        value - 字段精度。
      • isRequired

        public boolean isRequired()
        返回一个值,该值指定字段是否为必填字段。
        返回:
        若字段为必填字段,返回 true;否则返回 false。
        默认值:
        默认值为 false,即字段为必填字段。
      • setRequired

        public void setRequired(boolean value)
        设置字段是否为必填字段。
        参数:
        value - 一个布尔值用来指定字段是否为必填字段。
        示范代码:
        请参见 FieldInfos 类的示例。
      • getScale

        public int getScale()
        获取字段值小数位数。
        返回:
        字段值小数位数。
        抛出:
        IllegalStateException - 字段数组对象、当前字段信息对象已被释放。
      • setScale

        public void setScale(int value)
        设置字段值小数位数。
        参数:
        value - 字段值小数位数。
        抛出:
        IllegalStateException - 字段数组对象、当前字段信息对象已被释放。
      • getMaxLength

        public int getMaxLength()
        返回字段值的最大长度,只对文本字段有效。单位:字节。
        返回:
        字段值的最大长度。单位:字节。
        默认值:
        默认值为 255。
      • setMaxLength

        public void setMaxLength(int value)
        设置字段值的最大长度,只对文本字段有效。
        参数:
        value - 用来设置字段值的最大长度的整型值。
      • getType

        public FieldType getType()
        返回字段的类型。
        返回:
        字段的类型。
        另请参阅:
        FieldType
        默认值:
        默认值为 TEXT
      • setType

        public void setType(FieldType value)
        设置字段的类型。
        参数:
        value - 字段的类型。
        另请参阅:
        FieldType
        示范代码:
        请参见 FieldInfos 类的示例。
      • isSystemField

        public boolean isSystemField()
        返回一个值,该值指示此字段是否为 SuperMap 系统字段,SuperMap 系统字段是以 SM 为前缀的字段,SMUserID 除外。
        返回:
        若此字段为 SuperMap 系统字段则返回 true,否则返回 false。
        默认值:
        默认值为 false, 即当前字段不是 SuperMap 系统字段。
      • clone

        public FieldInfo clone()
        返回当前 FieldInfo 实例的拷贝。
        覆盖:
        clone 在类中 Object
        返回:
        当前 FieldInfo 的一个副本。
      • dispose

        public void dispose()
        该方法用于释放占用资源。用户可以自己调用该方法用于立即释放占用资源。如果不调用该方法,在该对象释放的时候,会自动调用该方法。调用该方法之后,此对象不再可用。

Copyright © 2021–2024 SuperMap. All rights reserved.