com.supermap.data

类 FieldInfos

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


    public class FieldInfos
    extends com.supermap.data.InternalHandleDisposable
    字段信息集合类。

    该类可以单独创建使用,一个矢量数据集或记录集的所有字段的信息的集合即为一个字段信息集合类的一个实例。该类可以单独创建使用,也可以从矢量数据集或记录集中得到该类的对象。

    示范代码:
    以下代码实现对字段信息集合对象的添加,插入,交换,移除等操作。
         private FieldInfos getFieldInfos() {
            //实例化字段信息对象数组
            FieldInfo fieldinfo1 = new FieldInfo();
            fieldinfo1.setCaption("one");
            fieldinfo1.setName("value");
            fieldinfo1.setDefaultValue("0");
    
            FieldInfo fieldinfo2 = new FieldInfo();
            fieldinfo2.setCaption("two");
            fieldinfo2.setName("value2");
            fieldinfo2.setType(FieldType.INT16);
            fieldinfo2.setDefaultValue("10");
            FieldInfo[] fieldinfoarray = new FieldInfo[] {fieldinfo1, fieldinfo2};
            //将数组添加到当前字段信息集合对象中
            FieldInfos fieldinfos = new FieldInfos();
            fieldinfos.addRange(fieldinfoarray);
    
            //实例化一个字段信息对象,将其插入当前字段信息集合对象中
            FieldInfo fieldinfo3 = new FieldInfo();
            fieldinfo3.setCaption("three");
            fieldinfo3.setName("value3");
            fieldinfo3.setDefaultValue("0");
            fieldinfo3.setRequired(true);
            fieldinfos.insert(1, fieldinfo3);
    
            //交换当前字段信息集合对象中序号为1,2的字段信息对象
            fieldinfos.exchange(1, 2);
            //从当前字段信息集中删除序号为0的字段信息对象
            fieldinfos.remove(0);
            return fieldinfos;
        }
     
    • 构造器概要

      构造器 
      构造器和说明
      FieldInfos()
      构造一个新的 FieldInfos 对象,该对象中的 FieldInfo 对象的个数为0。
      FieldInfos(FieldInfo[] fieldInfos)
      根据指定的参数来构造一个 FieldInfos 的新对象。
      FieldInfos(FieldInfos fieldInfos)
      根据给定的 FieldInfos 对象构造一个与其完全相同的新对象。
    • 方法概要

      所有方法 实例方法 具体方法 已过时的方法 
      限定符和类型 方法和说明
      int add(FieldInfo fieldInfo)
      将指定字段信息对象添加到当前字段信息集合对象中。
      int addRange(FieldInfo[] fieldInfos)
      将字段信息对象数组添加到当前字段信息集合对象中。
      void clear()
      清除当前字段信息集合对象中的所有元素。
      FieldInfos clone()
      /** 返回当前 FieldInfos 对象的一个拷贝。
      void dispose()
      释放该对象所占用的资源。
      void exchange(int index1, int index2)
      交换当前字段信息集合中指定序号的两个字段信息对象。
      FieldInfo get(int index)
      返回字段信息集合对象中的指定序号的字段信息对象。
      FieldInfo get(String name)
      返回字段信息集合对象中的指定名称的字段信息对象。
      int getCount()
      返回给定的字段信息集合中元素的个数。
      String getFieldNameBySign(FieldSign value)
      已过时。  
      int indexOf(String name)
      返回指定名称的字段信息对象在当前字段信息集合中的序号。
      boolean insert(int index, FieldInfo newItem)
      在当前字段信息集合对象中的指定位置添加一个字段信息对象。
      boolean modify(String name, FieldInfo fieldInfo)
      修改指定字段名称的字段属性。
      boolean remove(int index)
      从当前字段信息集中删除指定序号的字段信息对象。
      boolean remove(String name)
      从当前字段信息集中删除指定名称的字段信息对象。
      FieldInfo[] toArray()
      将当前字段信息集合对象转换为一个字段信息对象数组。
      • 从类继承的方法 com.supermap.data.InternalHandleDisposable

        makeSureNativeObjectLive
    • 构造器详细资料

      • FieldInfos

        public FieldInfos()
        构造一个新的 FieldInfos 对象,该对象中的 FieldInfo 对象的个数为0。
      • FieldInfos

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

        public FieldInfos(FieldInfo[] fieldInfos)
        根据指定的参数来构造一个 FieldInfos 的新对象。
        参数:
        fieldInfos - 指定的 FieldInfo 类数组。
    • 方法详细资料

      • getCount

        public int getCount()
        返回给定的字段信息集合中元素的个数。
        返回:
        给定的字段信息集集合中元素的个数。
        默认值:
        默认值为 0。
      • get

        public FieldInfo get(String name)
        返回字段信息集合对象中的指定名称的字段信息对象。
        参数:
        name - 指定项的名称,即指定的 FieldInfo 的名称。
        返回:
        字段信息集集合对象中的指定名称的元素。
      • get

        public FieldInfo get(int index)
        返回字段信息集合对象中的指定序号的字段信息对象。
        参数:
        index - 需要返回项的索引值,索引值从0开始。
        返回:
        字段信息集集合对象中的指定序号的元素。
      • clone

        public FieldInfos clone()
        /** 返回当前 FieldInfos 对象的一个拷贝。
        覆盖:
        clone 在类中 Object
        返回:
        通过克隆操作得到的 FieldInfos 对象。
      • add

        public int add(FieldInfo fieldInfo)
        将指定字段信息对象添加到当前字段信息集合对象中。

        注意:添加字段时,如果字段的类型是必填字段,必须设置默认值,没有设置默认值时,添加失败。

        参数:
        fieldInfo - 要加入的字段对象。
        返回:
        fieldInfo 添加到此 FieldInfos 对象实例中的序号。
      • modify

        public boolean modify(String name,
                              FieldInfo fieldInfo)
        修改指定字段名称的字段属性。

        注意:目前支持OraclePlus、SQLPlus、PostgreSQL、KingBase、MySQL引擎。

        参数:
        name - 待修改字段的名称。
        fieldInfo - 修改的字段属性信息。
        返回:
        修改是否成功,成功返回true,失败返回false。
      • addRange

        public int addRange(FieldInfo[] fieldInfos)
        将字段信息对象数组添加到当前字段信息集合对象中。
        参数:
        fieldInfos - 要添加到此 FieldInfos 对象实例的 FieldInfo 数组。
        返回:
        添加的个数。
      • clear

        public void clear()
        清除当前字段信息集合对象中的所有元素。
      • exchange

        public void exchange(int index1,
                             int index2)
        交换当前字段信息集合中指定序号的两个字段信息对象。
        参数:
        index1 - 其中一个需要交换的字段信息对象的序号。
        index2 - 另一个需要交换的字段信息对象的序号。
      • insert

        public boolean insert(int index,
                              FieldInfo newItem)
        在当前字段信息集合对象中的指定位置添加一个字段信息对象。
        参数:
        index - 插入的位置,从0开始。
        newItem - 用来插入通过记录集返回的新的字段信息元素。
        返回:
        如果成功返回 true,那么失败返回 false。
      • indexOf

        public int indexOf(String name)
        返回指定名称的字段信息对象在当前字段信息集合中的序号。
        参数:
        name - 指定的 fieldInfo 的名称。
        返回:
        名称为 name 的 FieldInfo 在该 fieldInfos 中的序号。
      • remove

        public boolean remove(String name)
        从当前字段信息集中删除指定名称的字段信息对象。
        参数:
        name - 将要删除的字段信息对象的名称。
        返回:
        如果成功返回 true,那么失败返回 false。
      • remove

        public boolean remove(int index)
        从当前字段信息集中删除指定序号的字段信息对象。
        参数:
        index - 将要删除元素的序号。
        返回:
        如果成功返回 true,那么失败返回 false。
      • toArray

        public FieldInfo[] toArray()
        将当前字段信息集合对象转换为一个字段信息对象数组。
        返回:
        字段信息对象数组。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • getFieldNameBySign

        @Deprecated
        public String getFieldNameBySign(FieldSign value)
        已过时。 
        根据指定字段标识返回相应字段的名称。 使用DatasetVector的GetFieldNameBySign接口代替

        说明:

        1. 具体的字段标识请参见FieldSign
        2. 对于 UDB 数据源,字段标识为 FieldSign.GEOMETRY时:
          • 线对象和面对象返回空字符串;
          • 二维点对象返回“SMX,SMY”;
          • 三维点对象返回“SMX,SMY,SMZ”。
        参数:
        value - 指定的字段标识。
        返回:
        相应字段的名称。
        示范代码:
        以下代码示范如何根据字段标识获取相应字段的名称。
         public void getFieldNameBySignTest(){
         // 假设存在一个工作空间 workspace 对象,工作空间中存在一个数据源  datasource 对象。
         // 从中取出名为“World”的矢量数据集 dataset。 
         DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("World");
         
         // 获取字段信息集合
         FieldInfos fieldInfos = dataset.getFieldInfos();
         
         // 根据字段标识获取相应字段的名称
         fieldInfos.getFieldNameBySign(FieldSign.ID);
         fieldInfos.getFieldNameBySign(FieldSign.GEOMETRY);
         }
         

Copyright © 2021–2024 SuperMap. All rights reserved.