public class HybridResourceRepository extends BaseResourceRepository implements MultiResourceRepository
主仓库不存在再去从属查找
Created by rinoux on 2017/12/20.
| 构造器和说明 |
|---|
HybridResourceRepository(ResourceRepository main,
ResourceRepository... repositories) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
appendWrite(java.lang.String file,
byte[] data)
追加写文件
向一个已经存在的文件末尾追加新的内容
|
void |
appendWrite(java.lang.String file,
java.io.InputStream data)
追加写文件
向一个已经存在的文件末尾追加新的内容
|
void |
attach(ResourceRepository fellow)
添加附加资源仓库
|
boolean |
copy(java.lang.String origPath,
java.lang.String desPath)
复制
origPath和desPath均为全路径
若desPath已经存在返回false
|
boolean |
createDirectory(java.lang.String dir)
创建目录
|
boolean |
createFile(java.lang.String file)
创建空文件
已存在的文件不会清空
|
boolean |
delete(java.lang.String path)
删除文件或目录
|
void |
detach(java.lang.String fellow)
移除一个附加资源仓库
|
boolean |
exist(java.lang.String path)
判断文件或目录是否存在
|
FineFileEntry |
getEntry(java.lang.String path)
获取文件的entry
|
java.util.Set<java.lang.String> |
getFellows()
获取所有附加资源仓库
|
java.lang.String |
getIdentity()
仓库的类型标识(FTP,OSS之类的)
|
ResourceRepository |
getMaster()
获取主资源仓库
|
java.net.URL |
getResource(java.lang.String path)
获取url
|
java.lang.String |
getSeparator()
存储的分隔符
|
java.lang.String |
getWorkRoot()
获取工作路径
|
boolean |
isDirectory(java.lang.String path)
是否为目录
对于对象存储,key以"/"结尾的判断为目录
|
long |
lastModified(java.lang.String path)
最后修改时间
|
long |
length(java.lang.String path)
文件大小
|
java.lang.String[] |
list(java.lang.String dir,
Filter<java.lang.String> filter)
列出该路径下的所有filter接受的内容
filter为null时默认设置为DefaultFilter,表示接受所有类型
返回的List为dir下所有filter接受的文件和文件夹的名称name,而非全路径path
非递归
|
FineFileEntry[] |
listEntry(java.lang.String dir)
列出路径下所有的FineFileEntry
|
java.io.InputStream |
read(java.lang.String file)
根据路径读取文件流
InputStream的关闭应该由client来负责
|
boolean |
rename(java.lang.String path,
java.lang.String newPath)
重命名文件或目录
|
void |
shutDown()
关闭
做一些关闭的操作
|
void |
write(java.lang.String file,
byte[] data)
写资源
|
void |
write(java.lang.String file,
java.io.InputStream data)
向文件写入数据
如果文件不存在则新建文件
data使用后需要在write中关闭
|
isAccurateDiskSize, list, openStream, readFullygetRepoName, setRepoName, setWorkRootclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitlistgetRepoName, isAccurateDiskSize, setRepoNameopenStream, readFullypublic HybridResourceRepository(ResourceRepository main, ResourceRepository... repositories)
public java.lang.String getSeparator()
ResourceRepositorygetSeparator 在接口中 ResourceRepositorypublic java.lang.String getIdentity()
RepositoryInfoProvidergetIdentity 在接口中 RepositoryInfoProviderpublic java.lang.String getWorkRoot()
RepositoryInfoProvidergetWorkRoot 在接口中 RepositoryInfoProvidergetWorkRoot 在类中 ResourceRepositoryAdaptorpublic FineFileEntry getEntry(java.lang.String path)
ResourceRepositorygetEntry 在接口中 ResourceRepositorypath - 路径public FineFileEntry[] listEntry(java.lang.String dir)
ResourceRepositorylistEntry 在接口中 ResourceRepositorydir - 路径public java.io.InputStream read(java.lang.String file)
throws ResourceIOException
ResourceRepositoryInputStream的关闭应该由client来负责
read 在接口中 ResourceRepositoryfile - 路径ResourceIOException - read过程异常时抛出异常public java.lang.String[] list(java.lang.String dir,
Filter<java.lang.String> filter)
ResourceRepositoryfilter为null时默认设置为DefaultFilter,表示接受所有类型
返回的List为dir下所有filter接受的文件和文件夹的名称name,而非全路径path
非递归
list 在接口中 ResourceRepositorylist 在接口中 WorkResourcedir - 路径filter - 过滤器public boolean delete(java.lang.String path)
WorkResourcedelete 在接口中 WorkResourcepublic boolean createFile(java.lang.String file)
throws ResourceIOException
WorkResourcecreateFile 在接口中 WorkResourceResourceIOExceptionpublic void write(java.lang.String file,
java.io.InputStream data)
throws ResourceIOException
ResourceRepository如果文件不存在则新建文件
data使用后需要在write中关闭
write 在接口中 ResourceRepositorywrite 在类中 BaseResourceRepositoryfile - 文件pathdata - 数据ResourceIOException - 写过程中的异常抛出public java.net.URL getResource(java.lang.String path)
ResourceRepositorygetResource 在接口中 ResourceRepositorypath - 路径public void write(java.lang.String file,
byte[] data)
throws ResourceIOException
WorkResourcewrite 在接口中 WorkResourceResourceIOExceptionpublic boolean exist(java.lang.String path)
WorkResourceexist 在接口中 WorkResourcepublic boolean createDirectory(java.lang.String dir)
WorkResourcecreateDirectory 在接口中 WorkResourcepublic boolean isDirectory(java.lang.String path)
ResourceRepository对于对象存储,key以"/"结尾的判断为目录
isDirectory 在接口中 ResourceRepositoryisDirectory 在接口中 WorkResourcepath - 名称public long lastModified(java.lang.String path)
WorkResourcelastModified 在接口中 WorkResourcepath - 路径public long length(java.lang.String path)
WorkResourcelength 在接口中 WorkResourcepath - 文件路径public boolean copy(java.lang.String origPath,
java.lang.String desPath)
throws ResourceIOException
ResourceRepositoryorigPath和desPath均为全路径
若desPath已经存在返回false
copy 在接口中 ResourceRepositorycopy 在类中 BaseResourceRepositoryorigPath - 源desPath - 目标ResourceIOException - 重命名过程中出现的异常抛出public boolean rename(java.lang.String path,
java.lang.String newPath)
throws ResourceIOException
WorkResourcerename 在接口中 WorkResourcerename 在类中 BaseResourceRepositoryResourceIOExceptionpublic void appendWrite(java.lang.String file,
java.io.InputStream data)
throws ResourceIOException
ResourceRepository向一个已经存在的文件末尾追加新的内容
appendWrite 在接口中 ResourceRepositoryappendWrite 在类中 BaseResourceRepositoryfile - 名称data - 数据流ResourceIOException - 追加写的过程中发生异常抛出public void appendWrite(java.lang.String file,
byte[] data)
throws ResourceIOException
ResourceRepository向一个已经存在的文件末尾追加新的内容
appendWrite 在接口中 ResourceRepositoryappendWrite 在类中 BaseResourceRepositoryfile - 名称data - 数据流ResourceIOException - 追加写的过程中发生异常抛出public void shutDown()
ResourceRepository做一些关闭的操作
shutDown 在接口中 ResourceRepositorypublic void attach(ResourceRepository fellow)
MultiResourceRepositoryattach 在接口中 MultiResourceRepositoryfellow - 附加资源仓库public void detach(java.lang.String fellow)
MultiResourceRepositorydetach 在接口中 MultiResourceRepositoryfellow - 资源仓库名称public ResourceRepository getMaster()
MultiResourceRepositorygetMaster 在接口中 MultiResourceRepositorypublic java.util.Set<java.lang.String> getFellows()
MultiResourceRepositorygetFellows 在接口中 MultiResourceRepository