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 版本”),每个版本都只有一个父版本,但可以有任意个子版本。
版本管理的基本操作过程如下:
- 创建版本;
- 版本编辑;
- 版本保存;
- 版本协调,如果版本间存在冲突,需要进行冲突处理;版本提交前必须进行版本协调;而版本协调后可以先保存版本,在需要版本提交的时候再版本协调;
- 如果版本间没有冲突或冲突处理完毕,进行版本提交;
- 删除版本。
当前,版本管理功能支持的数据源包括: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。
-
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.