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()构造一个新的 FieldInfo 对象。FieldInfo(FieldInfo fieldInfo)根据给定的 FieldInfo 对象构造一个与其完全相同的新对象。FieldInfo(String name, FieldType type)根据指定的参数来构造一个 FieldInfo 的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 FieldInfoclone()返回当前 FieldInfo 实例的拷贝。voiddispose()该方法用于释放占用资源。StringgetCaption()返回此字段的别名。StringgetDefaultValue()返回此字段的默认值。intgetMaxLength()返回字段值的最大长度,只对文本字段有效。StringgetName()返回字段的名称。intgetPrecision()获取字段精度。intgetScale()获取字段值小数位数。FieldTypegetType()返回字段的类型。booleanisRequired()返回一个值,该值指定字段是否为必填字段。booleanisSystemField()返回一个值,该值指示此字段是否为 SuperMap 系统字段,SuperMap 系统字段是以 SM 为前缀的字段,SMUserID 除外。booleanisSystemFieldName(String fieldName)判断字段名称是否是系统字段。booleanisZeroLengthAllowed()返回一个值,该值指示字段是否允许零长度。voidsetCaption(String value)设置此字段的别名。voidsetDefaultValue(String value)设置此字段的默认值。voidsetMaxLength(int value)设置字段值的最大长度,只对文本字段有效。voidsetName(String value)设置字段的名称。voidsetPrecision(int value)设置字段精度。voidsetRequired(boolean value)设置字段是否为必填字段。voidsetScale(int value)设置字段值小数位数。voidsetType(FieldType value)设置字段的类型。voidsetZeroLengthAllowed(boolean value)设置字段是否允许零长度。
-
-
-
构造器详细资料
-
FieldInfo
public FieldInfo()
构造一个新的 FieldInfo 对象。
-
FieldInfo
public FieldInfo(FieldInfo fieldInfo)
根据给定的 FieldInfo 对象构造一个与其完全相同的新对象。- 参数:
fieldInfo- 指定的 FieldInfo 对象。
-
-
方法详细资料
-
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- 用来设置字段值的最大长度的整型值。
-
setType
public void setType(FieldType value)
设置字段的类型。- 参数:
value- 字段的类型。- 另请参阅:
FieldType- 示范代码:
- 请参见
FieldInfos类的示例。
-
isSystemField
public boolean isSystemField()
返回一个值,该值指示此字段是否为 SuperMap 系统字段,SuperMap 系统字段是以 SM 为前缀的字段,SMUserID 除外。- 返回:
- 若此字段为 SuperMap 系统字段则返回 true,否则返回 false。
- 默认值:
- 默认值为 false, 即当前字段不是 SuperMap 系统字段。
-
dispose
public void dispose()
该方法用于释放占用资源。用户可以自己调用该方法用于立即释放占用资源。如果不调用该方法,在该对象释放的时候,会自动调用该方法。调用该方法之后,此对象不再可用。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.