com.seeyon.ctp.common.filemanager.manager
接口 AttachmentManager


public interface AttachmentManager

版本:
1.0 2006-11-17
作者:
Tanmf

方法摘要
 boolean checkIsLicitGenesis(java.lang.Long referenceId, java.lang.Long genesisId)
          检测是否是合法的来源
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> copy(java.lang.Long reference, java.lang.Long subReference)
          复制附件, 不存入表
 java.lang.String copy(java.lang.Long reference, java.lang.Long subReference, java.lang.Long newReference, java.lang.Long newSubReference, java.lang.Integer category)
          复制附件,并把附件存入表中
 java.lang.String copy(java.lang.Long reference, java.lang.Long subReference, java.lang.Long newReference, java.lang.Long newSubReference, java.lang.Integer category, java.lang.Long userId, java.lang.Long accountId)
          上面那个接口必须需要用户登录才能复制,因为要用到userId,accountId,直接提供接口,不需要用户登录,为的是方便系统复制
 java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference)
          该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone 怎么判断是否有附件呢,请看: //保存附件 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request); if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){ colSummary.setHasAttachments(true); }
 java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request)
          该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone 怎么判断是否有附件呢,请看: //保存附件 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request); if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){ colSummary.setHasAttachments(true); }
 java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, java.util.List<java.util.Map> attachList)
          根据应用自己获取的附件定义列表创建附件信息,一般用于Ajax提交的情况
 java.lang.String create(java.util.Collection<com.seeyon.ctp.common.po.filemanager.Attachment> attachments)
          保存附件信息,文件已经上传到服务器上,只需要在附件表和文件表中记录
 java.lang.String create(java.lang.Long[] v3xFileId, com.seeyon.ctp.common.constants.ApplicationCategoryEnum cotegory, java.lang.Long reference, java.lang.Long subReference)
          存附件信息,文件已经上传到服务器并且已经保存到数据库,只需要在附件表中记录
 void deleteById(long attachmentId)
          按照附件Id删除
 void deleteByReference(java.util.List<java.lang.Long> references)
          批量删除附件
 void deleteByReference(java.lang.Long reference)
          按照主数据删除: 文件没有做物理删除
 void deleteByReference(java.lang.Long reference, int... type)
          按照主数据删除: 文件没有做物理删除
 void deleteByReference(java.lang.Long reference, java.lang.Long subReference)
          按照主数据和次数据删除: 文件没有做物理删除
 java.util.List<java.lang.Object[]> getAllFileUrlByReference(java.lang.Long reference)
          读取某个主体下所有附件的fileURL
 com.seeyon.ctp.common.po.filemanager.Attachment getAttachmentByFileURL(java.lang.Long fileURL)
          根据v3xfile的id取得附件对象
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentByFileURLs(java.util.List<java.lang.Long> fileURLs)
          根据fileurl list获取对应的附件list
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentByFileURLStrings(java.lang.String fileURLs)
          根据逗号分隔的fileurl获取对应的附件
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromAttachList(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, java.util.List mapList)
           
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequest(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request)
          从v3x:fileupload中取得数据,构造Attachment,此时没有存放到数据库中
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequestNotRelition(javax.servlet.http.HttpServletRequest request)
          本方法只为显示附件,并没有保存。
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequestNotRelition(java.lang.String attachstr)
           
 java.lang.String getAttListJSON(java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> list)
           
 java.lang.String getAttListJSON(java.lang.Long reference)
          为前端显示附件获取一个主题下的所有附件信息,包括二级主题, 如:协同的附件和协同回复的附件
 java.lang.String getAttListJSON(java.lang.Long reference, java.lang.Long subReference)
          为前端显示附件获取一个主题下指定区域的附件信息 如:协同的附件或者协同回复的附件
 java.lang.String getAttListJSON4JS(java.lang.Long reference)
           
 java.lang.String getAttListJSON4JS(java.lang.Long reference, java.lang.Long subReference)
           
 long getAttSizeSum(long attId)
           
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference)
          读取一个主题下的所有附件信息,包括二级主题,如:协同的附件和协同回复的附件
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference, java.lang.Long... subReferences)
          读取附件信息
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference, java.lang.Long subReference)
          读取附件信息
 boolean hasAttachments(java.lang.Long reference, java.lang.Long subReference)
          是否包含附件, 慎用,做好在自己的表中增加一个“是否有附件”的标记
 void removeByReference(java.lang.Long reference)
          按照主数据删除: 文件做物理删除
 void removeByReference(java.lang.Long reference, java.lang.Long subReference)
          按照主数据和次数据删除: 文件做物理删除
 java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> setOfficeTransformEnable(java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> list)
           
 java.lang.String update(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request)
          该方法必须和v3x:fileupload 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone
执行的策略是,现delete,然后create
 void update(com.seeyon.ctp.common.po.filemanager.Attachment attachment)
           
 void updateReference(java.lang.Long fileUrl, java.lang.Long referenceId)
          根据文件表示更新引用
 void updateReferenceByFileUrls(java.lang.String fileUrls, java.lang.Long referenceId)
          根据逗号分隔的fileurl更新对应的应用ID
 void updateReferenceSubReference(java.lang.Long fileUrl, java.lang.Long referenceId, java.lang.Long subReference)
          根据文件表示更新引用及子引用
 

方法详细信息

getAttachmentsFromRequestNotRelition

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequestNotRelition(javax.servlet.http.HttpServletRequest request)
本方法只为显示附件,并没有保存。只是把从页面获得的参数传递转化为Attachment对象的列表。

参数:
request -
返回:

getAttachmentsFromRequestNotRelition

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequestNotRelition(java.lang.String attachstr)

create

java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                        java.lang.Long reference,
                        java.lang.Long subReference,
                        javax.servlet.http.HttpServletRequest request)
                        throws java.lang.Exception
该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone 怎么判断是否有附件呢,请看:
 //保存附件
 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request);
 if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){
           colSummary.setHasAttachments(true);
 }
 

参数:
category - 所属应用分类
reference - 主题Id,如协同的Id
subReference - 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同
request -
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02"; 其中 0-文件附件 1-图片 2-关联文 ,排列无序
抛出:
java.lang.Exception
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE, com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(String)

create

java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                        java.lang.Long reference,
                        java.lang.Long subReference)
                        throws java.lang.Exception
该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone 怎么判断是否有附件呢,请看:
 //保存附件
 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request);
 if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){
     colSummary.setHasAttachments(true);
 }
 

参数:
category - 所属应用分类
reference - 主题Id,如协同的Id
subReference - 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02"; 其中 0-文件附件 1-图片 2-关联文 ,排列无序
抛出:
java.lang.Exception
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE, com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(String)

create

java.lang.String create(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                        java.lang.Long reference,
                        java.lang.Long subReference,
                        java.util.List<java.util.Map> attachList)
                        throws java.lang.Exception
根据应用自己获取的附件定义列表创建附件信息,一般用于Ajax提交的情况

参数:
category - 所属应用分类
reference - 主题Id,如协同的Id
subReference - 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同
attachList - 应用自己获取的附件定义列表
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02"; 其中 0-文件附件 1-图片 2-关联文 ,排列无序
抛出:
java.lang.Exception

create

@AjaxAccess
java.lang.String create(java.util.Collection<com.seeyon.ctp.common.po.filemanager.Attachment> attachments)
保存附件信息,文件已经上传到服务器上,只需要在附件表和文件表中记录

参数:
reference -
subReference -
category -
extensions -
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02" 其中 0-文件附件 1-图片 2-关联文
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE

getAttachmentsFromRequest

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromRequest(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                                                                                          java.lang.Long reference,
                                                                                          java.lang.Long subReference,
                                                                                          javax.servlet.http.HttpServletRequest request)
                                                                                          throws java.lang.Exception
从v3x:fileupload中取得数据,构造Attachment,此时没有存放到数据库中

参数:
category -
reference -
subReference -
request -
返回:
抛出:
java.lang.Exception

getAttachmentsFromAttachList

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentsFromAttachList(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                                                                                             java.lang.Long reference,
                                                                                             java.lang.Long subReference,
                                                                                             java.util.List mapList)
                                                                                             throws java.lang.Exception
抛出:
java.lang.Exception

update

java.lang.String update(com.seeyon.ctp.common.constants.ApplicationCategoryEnum category,
                        java.lang.Long reference,
                        java.lang.Long subReference,
                        javax.servlet.http.HttpServletRequest request)
                        throws java.lang.Exception
该方法必须和v3x:fileupload 配合使用,在request中必须有的Parameter:String[] fileUrl, String[] mimeType, String[] size, String[] createdate, String[] filename, String[] type, String[] needClone
执行的策略是,现delete,然后create

参数:
category - 所属应用分类
reference - 主题Id,如协同的Id
subReference - 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同
request -
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02" 其中 0-文件附件 1-图片 2-关联文
抛出:
java.lang.Exception
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE

getByReference

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference)
读取一个主题下的所有附件信息,包括二级主题,如:协同的附件和协同回复的附件

参数:
reference -
返回:

getByReference

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference,
                                                                               java.lang.Long subReference)
读取附件信息

参数:
reference -
subReference -
返回:

getByReference

@AjaxAccess
java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getByReference(java.lang.Long reference,
                                                                                          java.lang.Long... subReferences)
读取附件信息

参数:
reference - 主数据
subReferences - 次数据多个
返回:

getAllFileUrlByReference

java.util.List<java.lang.Object[]> getAllFileUrlByReference(java.lang.Long reference)
读取某个主体下所有附件的fileURL

参数:
reference -
返回:
Object[] -- 二位数组,第一列: fileUrl,第二列:createDate

deleteByReference

void deleteByReference(java.lang.Long reference)
                       throws BusinessException
按照主数据删除: 文件没有做物理删除

参数:
reference -
抛出:
BusinessException

deleteByReference

void deleteByReference(java.lang.Long reference,
                       int... type)
                       throws BusinessException
按照主数据删除: 文件没有做物理删除

参数:
reference -
type - 类型
抛出:
BusinessException

removeByReference

void removeByReference(java.lang.Long reference)
                       throws BusinessException
按照主数据删除: 文件做物理删除

参数:
reference -
抛出:
BusinessException

deleteByReference

void deleteByReference(java.lang.Long reference,
                       java.lang.Long subReference)
                       throws BusinessException
按照主数据和次数据删除: 文件没有做物理删除

参数:
reference -
subReference -
抛出:
BusinessException

removeByReference

void removeByReference(java.lang.Long reference,
                       java.lang.Long subReference)
                       throws BusinessException
按照主数据和次数据删除: 文件做物理删除

参数:
reference -
subReference -
抛出:
BusinessException

deleteById

void deleteById(long attachmentId)
按照附件Id删除

参数:
attachmentId -

hasAttachments

boolean hasAttachments(java.lang.Long reference,
                       java.lang.Long subReference)
是否包含附件, 慎用,做好在自己的表中增加一个“是否有附件”的标记

参数:
reference -
subReference -
返回:

getAttachmentByFileURL

com.seeyon.ctp.common.po.filemanager.Attachment getAttachmentByFileURL(java.lang.Long fileURL)
根据v3xfile的id取得附件对象

参数:
fileURL -
返回:

update

void update(com.seeyon.ctp.common.po.filemanager.Attachment attachment)
参数:
attachment -

copy

java.lang.String copy(java.lang.Long reference,
                      java.lang.Long subReference,
                      java.lang.Long newReference,
                      java.lang.Long newSubReference,
                      java.lang.Integer category)
复制附件,并把附件存入表中

参数:
reference - 原主体的Id
subReference - 原主体的次Id
newReference - 新主体的Id
newSubReference - 新主体的次Id
category - 新的所属应用分类
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02" 其中 0-文件附件 1-图片 2-关联文档
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE, com.seeyon.ctp.common.filemanager.Constants.isUploadLocaleFile

updateReference

void updateReference(java.lang.Long fileUrl,
                     java.lang.Long referenceId)
根据文件表示更新引用

参数:
fileUrl - 文件标识
referenceId -

updateReferenceSubReference

void updateReferenceSubReference(java.lang.Long fileUrl,
                                 java.lang.Long referenceId,
                                 java.lang.Long subReference)
根据文件表示更新引用及子引用

参数:
fileUrl - 文件标识
referenceId -
subReference -

copy

java.lang.String copy(java.lang.Long reference,
                      java.lang.Long subReference,
                      java.lang.Long newReference,
                      java.lang.Long newSubReference,
                      java.lang.Integer category,
                      java.lang.Long userId,
                      java.lang.Long accountId)
上面那个接口必须需要用户登录才能复制,因为要用到userId,accountId,直接提供接口,不需要用户登录,为的是方便系统复制


copy

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> copy(java.lang.Long reference,
                                                                     java.lang.Long subReference)
复制附件, 不存入表

参数:
reference -
subReference -
返回:

create

java.lang.String create(java.lang.Long[] v3xFileId,
                        com.seeyon.ctp.common.constants.ApplicationCategoryEnum cotegory,
                        java.lang.Long reference,
                        java.lang.Long subReference)
存附件信息,文件已经上传到服务器并且已经保存到数据库,只需要在附件表中记录

参数:
v3xFileId -
cotegory -
reference -
subReference -
返回:
附件类型任意组合 如:"012"、"12"、"01"、"02" 其中 0-文件附件 1-图片 2-关联文
另请参见:
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE

getAttSizeSum

long getAttSizeSum(long attId)

checkIsLicitGenesis

boolean checkIsLicitGenesis(java.lang.Long referenceId,
                            java.lang.Long genesisId)
检测是否是合法的来源

参数:
referenceId - 关联协同的ID
genesisId - 来源Id
返回:

getAttListJSON

java.lang.String getAttListJSON(java.lang.Long reference)
为前端显示附件获取一个主题下的所有附件信息,包括二级主题, 如:协同的附件和协同回复的附件

参数:
reference -
返回:
返回附件列表的json字符串

getAttachmentByFileURLStrings

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentByFileURLStrings(java.lang.String fileURLs)
根据逗号分隔的fileurl获取对应的附件

参数:
fileURLs -
返回:

getAttachmentByFileURLs

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> getAttachmentByFileURLs(java.util.List<java.lang.Long> fileURLs)
根据fileurl list获取对应的附件list

参数:
fileURLs -
返回:

updateReferenceByFileUrls

void updateReferenceByFileUrls(java.lang.String fileUrls,
                               java.lang.Long referenceId)
根据逗号分隔的fileurl更新对应的应用ID

参数:
fileUrls -
referenceId -

deleteByReference

void deleteByReference(java.util.List<java.lang.Long> references)
                       throws BusinessException
批量删除附件

参数:
references -
抛出:
BusinessException

getAttListJSON

java.lang.String getAttListJSON(java.lang.Long reference,
                                java.lang.Long subReference)
为前端显示附件获取一个主题下指定区域的附件信息 如:协同的附件或者协同回复的附件

参数:
reference -
subReference -
返回:
返回附件列表的json字符串

setOfficeTransformEnable

java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> setOfficeTransformEnable(java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> list)

getAttListJSON

java.lang.String getAttListJSON(java.util.List<com.seeyon.ctp.common.po.filemanager.Attachment> list)

getAttListJSON4JS

java.lang.String getAttListJSON4JS(java.lang.Long reference)

getAttListJSON4JS

java.lang.String getAttListJSON4JS(java.lang.Long reference,
                                   java.lang.Long subReference)