package com.vci.client.fm; import com.vci.corba.common.VCIError; import com.vci.corba.framework.data.PvolumeInfo; public interface ClientFOOperationInterface { /** * 创建文件初始的文件对象 * @return * @throws VCIError */ public FileObject createNewFile() throws VCIError; /** * 读取文件对象 * @param oid,文件对象oid * @return * @throws VCIError */ public FileObject getFileObject(String oid) throws VCIError; /** * 保存新的文件对象并保存对应的文件 * @param localfilePath,本地文件路径 * @param fileObject,构建出的新文件对象 * @return * @throws VCIError */ public FileObject createNewFile(String localfilePath, FileObject fileObject) throws VCIError; /** * 保存编辑文件后的文件对象,只支持文件对象的属性编辑 * @param fileObject * @return * @throws VCIError */ public boolean updateFileObject(FileObject fileObject) throws VCIError; /** * 检入文件对象 * @param fileObject,文件对象 * @return * @throws VCIError */ public boolean checkInFileObject(FileObject fileObject) throws VCIError; /** * 检出文件对象 * @param fileObject,文件对象 * @return * @throws VCIError */ public boolean checkOutFileObject(FileObject fileObject) throws VCIError; /** * 下载文件 * @param clientPath,客户端存储路径 * @param serverPath,服务器端文件路径 * @return * @throws VCIError */ public boolean downLoadFile(String clientPath, String serverPath) throws VCIError; /** * 上传文件 * @param localfilePath,客户端文件路径 * @param updateFilePath,服务器端存储路径 * @return * @throws VCIError */ public boolean uploadFile(String localfilePath, String updateFilePath) throws VCIError; /** * 删除文件对象及其对应的文件 * @param oid,文件对象oid * @return * @throws VCIError */ public boolean deleteFileObject(String oid) throws VCIError; /*** * 升版本 * */ /** * 升版本文件对象并保持(复制文件) * @param fromFo,源文件对象 * @param revisionVal,生版后的版本号(可以为空) * @return * @throws VCIError */ public FileObject reviseFileObject(FileObject fromFo,String revisionVal) throws VCIError ; /** * 撤销检查 * @param fileObject,文件对象 * @return * @throws VCIError */ public boolean undCheckOutFileObject(FileObject fileObject) throws VCIError; /** * 根据文件对象获取其对应的文件存储全路径 * * @param fileObject,文件对象 * @return * @throws VCIError */ public String getFullFilePath(FileObject fileObject) throws VCIError; /** * 上传文件(只上传文件,更文件对象存储路径,不持久化文件对象) * @param localfilePath,本地文件 * @param fileObject,文件对象 * @return * @throws VCIError */ public FileObject uploadFile(String localfilePath, FileObject fileObject) throws VCIError; /** * 根据对象OID下载对应的文件 * @param clientPath,客户端下载路径 * @param fileOid,文件对象的oid * @return * @throws VCIError */ public boolean downLoadFileByOid(String clientPath, String fileOid) throws VCIError; /** * 存储文件以及业务对象到服务器,文件存储到指定的卷上,如果卷为空取默认的卷 * @param localfilePath,本地下载路径 * @param fileObject,文件对象 * @param pvolumeInfo,卷对象 * @return * @throws VCIError */ public FileObject createNewFile(String localfilePath, FileObject fileObject, PvolumeInfo pvolumeInfo) throws VCIError; }