com.supermap.data

类 SymbolGroup



  • public class SymbolGroup
    extends InternalHandleDisposable
    符号库分组类。

    该类主要为管理符号库中的子分组和符号对象提供一种逻辑化的组织结构形式,从而实现结构化,层次化的清晰管理模式,该类不能获取系统符号也并不负责符号对象的添加与删除以及符号对象的导入与导出操作,这类操作主要由符号库基类(SymbolLibrary 类)提供,详细内容参见 SymbolLibrary 类。

    如下图所示,结合 SuperMap Object Java 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。

    符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

    如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

    注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

    综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。

    • 方法概要

      所有方法 实例方法 具体方法 
      限定符和类型 方法和说明
      void dispose()
      释放该对象所占用的资源。
      Symbol get(int index)
      返回该分组对象中指定索引处的符号对象。
      SymbolGroups getChildGroups()
      返回该分组对象的子分组集合。
      int getCount()
      返回该分组对象中的符号对象的个数。
      SymbolLibrary getLibrary()
      返回与该符号库分组对象相关联的符号库。
      java.lang.String getName()
      返回该分组对象的名称,如果该分组对象的名称在其父分组中已经存在,则会抛出异常。
      SymbolGroup getParent()
      返回该分组对象的父分组。
      int indexOf(int id)
      返回指定 ID 号的符号对象在该分组下的索引值。
      void setName(java.lang.String name)
      设置名称
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • getParent

        public SymbolGroup getParent()
        返回该分组对象的父分组。符号库的根组不存在父分组。

        如下图所示,结合 SuperMap Object Java 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。

        符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

        如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

        注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

        综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。

        返回:
        该分组对象的父分组。
      • getChildGroups

        public SymbolGroups getChildGroups()
        返回该分组对象的子分组集合。

        如下图所示,结合 SuperMap Object Java 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。

        符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

        如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

        注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

        综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。

        返回:
        该分组对象的子分组集合。
      • getName

        public java.lang.String getName()
        返回该分组对象的名称,如果该分组对象的名称在其父分组中已经存在,则会抛出异常。
        返回:
        该分组对象的名称。
      • get

        public Symbol get(int index)
        返回该分组对象中指定索引处的符号对象。
        参数:
        index - 指定索引。
        返回:
        该分组对象中指定索引处的符号对象。
      • getLibrary

        public SymbolLibrary getLibrary()
        返回与该符号库分组对象相关联的符号库。
        返回:
        与该符号库分组对象相关联的符号库。
      • getCount

        public int getCount()
        返回该分组对象中的符号对象的个数。
        返回:
        该分组对象中的符号对象的个数。
      • indexOf

        public int indexOf(int id)
        返回指定 ID 号的符号对象在该分组下的索引值。
        参数:
        id - 需要进行测试的 ID 号。
        返回:
        指定 ID 号的符号在该分组中的索引值。
      • dispose

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

        public void setName(java.lang.String name)
        设置名称
        参数:
        name - 名称