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 的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 FieldInfo
clone()
返回当前 FieldInfo 实例的拷贝。void
dispose()
该方法用于释放占用资源。String
getCaption()
返回此字段的别名。String
getDefaultValue()
返回此字段的默认值。int
getMaxLength()
返回字段值的最大长度,只对文本字段有效。String
getName()
返回字段的名称。int
getPrecision()
获取字段精度。int
getScale()
获取字段值小数位数。FieldType
getType()
返回字段的类型。boolean
isRequired()
返回一个值,该值指定字段是否为必填字段。boolean
isSystemField()
返回一个值,该值指示此字段是否为 SuperMap 系统字段,SuperMap 系统字段是以 SM 为前缀的字段,SMUserID 除外。boolean
isSystemFieldName(String fieldName)
判断字段名称是否是系统字段。boolean
isZeroLengthAllowed()
返回一个值,该值指示字段是否允许零长度。void
setCaption(String value)
设置此字段的别名。void
setDefaultValue(String value)
设置此字段的默认值。void
setMaxLength(int value)
设置字段值的最大长度,只对文本字段有效。void
setName(String value)
设置字段的名称。void
setPrecision(int value)
设置字段精度。void
setRequired(boolean value)
设置字段是否为必填字段。void
setScale(int value)
设置字段值小数位数。void
setType(FieldType value)
设置字段的类型。void
setZeroLengthAllowed(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–2024 SuperMap. All rights reserved.