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, readFully
getRepoName, setRepoName, setWorkRoot
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
list
getRepoName, isAccurateDiskSize, setRepoName
openStream, readFully
public HybridResourceRepository(ResourceRepository main, ResourceRepository... repositories)
public java.lang.String getSeparator()
ResourceRepository
getSeparator
在接口中 ResourceRepository
public java.lang.String getIdentity()
RepositoryInfoProvider
getIdentity
在接口中 RepositoryInfoProvider
public java.lang.String getWorkRoot()
RepositoryInfoProvider
getWorkRoot
在接口中 RepositoryInfoProvider
getWorkRoot
在类中 ResourceRepositoryAdaptor
public FineFileEntry getEntry(java.lang.String path)
ResourceRepository
getEntry
在接口中 ResourceRepository
path
- 路径public FineFileEntry[] listEntry(java.lang.String dir)
ResourceRepository
listEntry
在接口中 ResourceRepository
dir
- 路径public java.io.InputStream read(java.lang.String file) throws ResourceIOException
ResourceRepository
InputStream的关闭应该由client来负责
read
在接口中 ResourceRepository
file
- 路径ResourceIOException
- read过程异常时抛出异常public java.lang.String[] list(java.lang.String dir, Filter<java.lang.String> filter)
ResourceRepository
filter为null时默认设置为DefaultFilter,表示接受所有类型
返回的List为dir下所有filter接受的文件和文件夹的名称name,而非全路径path
非递归
list
在接口中 ResourceRepository
list
在接口中 WorkResource
dir
- 路径filter
- 过滤器public boolean delete(java.lang.String path)
WorkResource
delete
在接口中 WorkResource
public boolean createFile(java.lang.String file) throws ResourceIOException
WorkResource
createFile
在接口中 WorkResource
ResourceIOException
public void write(java.lang.String file, java.io.InputStream data) throws ResourceIOException
ResourceRepository
如果文件不存在则新建文件
data使用后需要在write中关闭
write
在接口中 ResourceRepository
write
在类中 BaseResourceRepository
file
- 文件pathdata
- 数据ResourceIOException
- 写过程中的异常抛出public java.net.URL getResource(java.lang.String path)
ResourceRepository
getResource
在接口中 ResourceRepository
path
- 路径public void write(java.lang.String file, byte[] data) throws ResourceIOException
WorkResource
write
在接口中 WorkResource
ResourceIOException
public boolean exist(java.lang.String path)
WorkResource
exist
在接口中 WorkResource
public boolean createDirectory(java.lang.String dir)
WorkResource
createDirectory
在接口中 WorkResource
public boolean isDirectory(java.lang.String path)
ResourceRepository
对于对象存储,key以"/"结尾的判断为目录
isDirectory
在接口中 ResourceRepository
isDirectory
在接口中 WorkResource
path
- 名称public long lastModified(java.lang.String path)
WorkResource
lastModified
在接口中 WorkResource
path
- 路径public long length(java.lang.String path)
WorkResource
length
在接口中 WorkResource
path
- 文件路径public boolean copy(java.lang.String origPath, java.lang.String desPath) throws ResourceIOException
ResourceRepository
origPath和desPath均为全路径
若desPath已经存在返回false
copy
在接口中 ResourceRepository
copy
在类中 BaseResourceRepository
origPath
- 源desPath
- 目标ResourceIOException
- 重命名过程中出现的异常抛出public boolean rename(java.lang.String path, java.lang.String newPath) throws ResourceIOException
WorkResource
rename
在接口中 WorkResource
rename
在类中 BaseResourceRepository
ResourceIOException
public void appendWrite(java.lang.String file, java.io.InputStream data) throws ResourceIOException
ResourceRepository
向一个已经存在的文件末尾追加新的内容
appendWrite
在接口中 ResourceRepository
appendWrite
在类中 BaseResourceRepository
file
- 名称data
- 数据流ResourceIOException
- 追加写的过程中发生异常抛出public void appendWrite(java.lang.String file, byte[] data) throws ResourceIOException
ResourceRepository
向一个已经存在的文件末尾追加新的内容
appendWrite
在接口中 ResourceRepository
appendWrite
在类中 BaseResourceRepository
file
- 名称data
- 数据流ResourceIOException
- 追加写的过程中发生异常抛出public void shutDown()
ResourceRepository
做一些关闭的操作
shutDown
在接口中 ResourceRepository
public void attach(ResourceRepository fellow)
MultiResourceRepository
attach
在接口中 MultiResourceRepository
fellow
- 附加资源仓库public void detach(java.lang.String fellow)
MultiResourceRepository
detach
在接口中 MultiResourceRepository
fellow
- 资源仓库名称public ResourceRepository getMaster()
MultiResourceRepository
getMaster
在接口中 MultiResourceRepository
public java.util.Set<java.lang.String> getFellows()
MultiResourceRepository
getFellows
在接口中 MultiResourceRepository