com.supermap.data

类 VersionManager

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


    public class VersionManager
    extends com.supermap.data.InternalHandleDisposable
    版本管理类。

    版本管理可以实现不进行锁定或复制数据集的情况下,多个用户同时操作同一个数据集。

    版本表示整个数据源在某一时刻的快照。版本管理的组织呈树状结构,除了根版本(也称为“default 版本”),每个版本都只有一个父版本,但可以有任意个子版本。

    版本管理的基本操作过程如下:

    1. 创建版本;
    2. 版本编辑;
    3. 版本保存;
    4. 版本协调,如果版本间存在冲突,需要进行冲突处理;版本提交前必须进行版本协调;而版本协调后可以先保存版本,在需要版本提交的时候再版本协调;
    5. 如果版本间没有冲突或冲突处理完毕,进行版本提交;
    6. 删除版本。

    当前,版本管理功能支持的数据源包括:PostGIS、Yukon。支持的数据集包括:点、线、面、文本、属性表、CAD、网络数据集。

    • 方法详细资料

      • getCurrentVersion

        public Version getCurrentVersion()
        获取当前版本。
        返回:
        当前版本类对象。
      • changeVersion

        public Version changeVersion(String strVersionName)
        切换到指定版本。
        参数:
        strVersionName - 版本名称
        返回:
        切换后的版本类对象。
      • changeHistoricalMoment

        public HistoricalMoment changeHistoricalMoment(String strHistoricalMomentName)
        切换到指定的历史时刻,切换后所有的操作都将基于当前历史时刻下的数据状态,此方法前提是已存在指定的历史时刻。
        参数:
        strHistoricalMomentName - 指定的历史时刻的版本名称
        返回:
        返回切换后的历史时刻,若返回null,则切换失败仍处于当前时刻。
      • getCurrentHistoricalMoment

        public HistoricalMoment getCurrentHistoricalMoment()
        获取当前数据源版本下的历史时刻对象。
        返回:
        返回当前数据源版本下的历史时刻对象,返回null,则表示当前数据源未设置历史时刻。
      • setHistoricalMoment

        public boolean setHistoricalMoment(Date date)
        设置一个任意时间作为历史时刻。
        参数:
        date - 历史时刻的时间
        返回:
        设置成功返回true,否则返回false。
      • getHistoricalMoment

        public Date getHistoricalMoment()
        获取 setHistoricalMoment(Date date) 中设置的历史时刻的时间,默认值 Sat Dec 30 00:00:00 CST 1899,表示未使用 setHistoricalMoment(Date date) 设置过时间。
        返回:
        历史时刻的时间
      • clearCurrentHistoricalMoment

        public boolean clearCurrentHistoricalMoment()
        主动清除当前数据源版本下的所有历史时刻。
        返回:
        清除成功返回true,否则返回false。
      • createVersion

        public Version createVersion(VersionInfo info)
        根据给定的参数创建版本,当前仅支持对 default 版本创建子版本。
        参数:
        info - 版本的名称、父版本ID、创建时间等信息。
        返回:
        版本类对象。
      • deleteVersion

        public boolean deleteVersion(String strName)
        删除指定的版本。
        参数:
        strName - 指定的版本名称。
        返回:
        成功返回 true;否则返回 false。
      • deleteHistoricalMoment

        public boolean deleteHistoricalMoment(String strName)
        根据版本名称删除历史时刻版本。
        参数:
        strName - 版本名称。
        返回:
        历史时刻版本删除成功返回true,否则返回false。
      • getVersion

        public Version getVersion(String strName)
        获取指定版本。
        参数:
        strName - 版本名称。
        返回:
        版本类对象。
      • getVersions

        public Version[] getVersions()
        获取数据源的所有版本。
        返回:
        版本类对象数组。
      • getVersionNames

        public String[] getVersionNames()
        获取数据源的所有版本名称。
        返回:
        版本名称数组。
      • createHistoricalMoment

        public HistoricalMoment createHistoricalMoment(HistoricalMomentInfo info)
        创建历史时刻版本。
        参数:
        info - 历史时刻版本信息。
        返回:
        历史时刻版本对象。
      • getHistoricalMoment

        public HistoricalMoment getHistoricalMoment(String name)
        根据版本名称获取历史时刻版本。
        参数:
        name - 版本名称。
        返回:
        历史时刻版本对象。
      • getHistoricalMoment

        public HistoricalMoment[] getHistoricalMoment(Version version)
        获取指定版本对象的所有历史时刻版本。
        参数:
        version - 指定版本对象。
        返回:
        历史时刻版本对象的集合。
      • getHistoricalMoments

        public HistoricalMoment[] getHistoricalMoments(Date startTime,
                                                       Date endTime)
        获取一段时间内的历史时刻版本。
        参数:
        startTime - 开始时间。
        endTime - 结束时间。
        返回:
        历史时刻版本对象的集合。
      • getServerDifferenceTime

        public Duration getServerDifferenceTime()
        获取客户端与数据库服务器间的时间差。
        返回:
        表示一段时间的Duration 对象。
      • getHistoricalMomentNames

        public String[] getHistoricalMomentNames()
        获取所有历史时刻版本的名称。
        返回:
        历史时刻版本名称的集合。
      • addVersionChangeListener

        public void addVersionChangeListener(VersionchangedListener l)
        添加一个用于接收版本切换事件(VersionchangedEvent)的监听器。
        参数:
        l - 一个用于接收版本切换事件的监听器。
      • addHistoricalChangeListener

        public void addHistoricalChangeListener(HistoricalchangedListener l)
        添加一个用于接收历史时刻切换事件(HistoricalchangedEvent)的监听器。
        参数:
        l - 一个用于接收历史时刻切换事件的监听器。
      • removeVersionChangeListener

        public void removeVersionChangeListener(VersionchangedListener l)
        移除一个用于接收版本切换事件(VersionchangedEvent)的监听器。
        参数:
        l - 一个用于接收版本切换事件的监听器。
      • dispose

        public void dispose()

Copyright © 2021–2024 SuperMap. All rights reserved.