com.supermap.data
类 FieldInfo

java.lang.Object
  继承者 com.supermap.data.FieldInfo

public class FieldInfo
extends java.lang.Object

字段信息类。字段信息类用来存储字段的名称、类型、默认值以及长度等相关信息。 每一个字段对应一个 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(java.lang.String name, FieldType type)
          根据指定的参数来构造一个 FieldInfo 的新对象。
 
方法摘要
 FieldInfo clone()
          返回当前 FieldInfo 实例的拷贝。
 void dispose()
          该方法用于释放占用资源。
 java.lang.String getCaption()
          返回此字段的别名。
 java.lang.String getDefaultValue()
          返回此字段的默认值。
 int getMaxLength()
          返回字段值的最大长度,只对文本字段有效。
 java.lang.String getName()
          返回字段的名称。
 FieldType getType()
          返回字段的类型。
 boolean isRequired()
          返回一个值,该值指定字段是否为必填字段。
 boolean isSystemField()
          返回一个值,该值指示此字段是否为 SuperMap 系统字段,SuperMap 系统字段是以 SM 为前缀的字段,SMUserID 除外。
 boolean isZeroLengthAllowed()
          返回一个值,该值指示字段是否允许零长度。
 void setCaption(java.lang.String value)
          设置此字段的别名。
 void setDefaultValue(java.lang.String value)
          设置此字段的默认值。
 void setMaxLength(int value)
          设置字段值的最大长度,只对文本字段有效。
 void setName(java.lang.String value)
          设置字段的名称。
 void setRequired(boolean value)
          设置字段是否为必填字段。
 void setType(FieldType value)
          设置字段的类型。
 void setZeroLengthAllowed(boolean value)
          设置字段是否允许零长度。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FieldInfo

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


FieldInfo

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

参数:
fieldInfo - 指定的 FieldInfo 对象。

FieldInfo

public FieldInfo(java.lang.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 java.lang.String getCaption()

返回此字段的别名。

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

setCaption

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

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

参数:
value - 此字段的别名。
示例:
请参见 FieldInfos 类的示例。

getDefaultValue

public java.lang.String getDefaultValue()
返回此字段的默认值。当添加一条记录时,如果该字段未被赋值,则以该默认值作为该字段的值。

返回:
此字段的默认值。
默认值:
默认值为一个空字符串。

setDefaultValue

public void setDefaultValue(java.lang.String value)
设置此字段的默认值。当添加一条记录时,如果该字段未被赋值,则以该默认值作为该字段的值。

参数:
value - 此字段的默认值。
示例:
请参见 FieldInfos 类的示例。

getName

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

返回:
字段的名称。
默认值:
默认值为 "UntitledField"。

setName

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

参数:
value - 字段的名称。
示例:
请参见 FieldInfos 类的示例。

isRequired

public boolean isRequired()
返回一个值,该值指定字段是否为必填字段。

返回:
若字段为必填字段,返回 true;否则返回 false。
默认值:
默认值为 false,即字段为必填字段。

setRequired

public void setRequired(boolean value)
设置字段是否为必填字段。

参数:
value - 一个布尔值用来指定字段是否为必填字段。
示例:
请参见 FieldInfos 类的示例。

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 实例的拷贝。

覆盖:
java.lang.Object 中的 clone
返回:
当前 FieldInfo 的一个副本。

dispose

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