public static class JarFileSystem.Impl extends Object implements AbstractFileSystem.List, AbstractFileSystem.Info, AbstractFileSystem.Change, AbstractFileSystem.Attr
Constructor and Description |
---|
Impl(JarFileSystem fs)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
Enumeration<String> |
attributes(String name)
Get all file attribute names for the file.
|
String[] |
children(String name)
Get a list of children files for a given folder.
|
void |
createData(String name)
Create new data file.
|
void |
createFolder(String name)
Create new folder.
|
void |
delete(String name)
Delete a file.
|
void |
deleteAttributes(String name)
Called when a file is deleted, to also delete its attributes.
|
boolean |
folder(String name)
Test if the file is a folder or contains data.
|
InputStream |
inputStream(String name)
Get input stream.
|
Date |
lastModified(String name)
Get last modification time.
|
void |
lock(String name)
Lock the file.
|
void |
markUnimportant(String name)
Mark the file as being unimportant.
|
String |
mimeType(String name)
Get the MIME type of the file.
|
OutputStream |
outputStream(String name)
Get output stream.
|
Object |
readAttribute(String name,
String attrName)
Get the file attribute with the specified name.
|
boolean |
readOnly(String name)
Test whether this file can be written to or not.
|
void |
rename(String oldName,
String newName)
Rename a file.
|
void |
renameAttributes(String oldName,
String newName)
Called when a file is renamed, to appropriately update its attributes.
|
long |
size(String name)
Get the size of the file.
|
void |
unlock(String name)
Unlock the file.
|
void |
writeAttribute(String name,
String attrName,
Object value)
Set the file attribute with the specified name.
|
public Impl(JarFileSystem fs)
fs
- the filesystem to delegate topublic String[] children(String name)
AbstractFileSystem.List
children
in interface AbstractFileSystem.List
name
- the folder, by name; e.g. top/next/afterthat
file.ext
(no path)
the array can contain null
values that will be ignoredpublic void createFolder(String name) throws IOException
AbstractFileSystem.Change
createFolder
in interface AbstractFileSystem.Change
name
- full name of new folder, e.g. topfolder/newfolder
IOException
- if the operation failspublic void createData(String name) throws IOException
AbstractFileSystem.Change
createData
in interface AbstractFileSystem.Change
name
- full name of the file, e.g. path/from/root/filename.ext
IOException
- if the file cannot be created (e.g. already exists)public void rename(String oldName, String newName) throws IOException
AbstractFileSystem.Change
rename
in interface AbstractFileSystem.Change
oldName
- old name of the file; fully qualifiednewName
- new name of the file; fully qualifiedIOException
- if it could not be renamedpublic void delete(String name) throws IOException
AbstractFileSystem.Change
delete
in interface AbstractFileSystem.Change
name
- name of file; fully qualifiedIOException
- if the file could not be deletedpublic Date lastModified(String name)
AbstractFileSystem.Info
lastModified
in interface AbstractFileSystem.Info
name
- the file to testpublic boolean folder(String name)
AbstractFileSystem.Info
folder
in interface AbstractFileSystem.Info
name
- name of the filetrue
if the file is folder, false
if it is datapublic boolean readOnly(String name)
AbstractFileSystem.Info
readOnly
in interface AbstractFileSystem.Info
name
- the file to testtrue
if the file is read-onlypublic String mimeType(String name)
AbstractFileSystem.Info
mimeType
in interface AbstractFileSystem.Info
name
- the file to test"text/plain"
)
or null if no special support for recognizing MIME is implemented.public long size(String name)
AbstractFileSystem.Info
size
in interface AbstractFileSystem.Info
name
- the file to testpublic InputStream inputStream(String name) throws FileNotFoundException
AbstractFileSystem.Info
inputStream
in interface AbstractFileSystem.Info
name
- the file to testFileNotFoundException
- if the file does not exist or is invalidpublic OutputStream outputStream(String name) throws IOException
AbstractFileSystem.Info
outputStream
in interface AbstractFileSystem.Info
name
- the file to testIOException
- if an error occurs (the file is invalid, etc.)public void lock(String name) throws IOException
AbstractFileSystem.Info
FileLock
within NetBeans, however.lock
in interface AbstractFileSystem.Info
name
- name of the fileIOException
- (e.g. FileAlreadyLockedException
) if the file is already locked or otherwise cannot be lockedpublic void unlock(String name)
AbstractFileSystem.Info
unlock
in interface AbstractFileSystem.Info
name
- name of the filepublic void markUnimportant(String name)
AbstractFileSystem.Info
markUnimportant
in interface AbstractFileSystem.Info
name
- the file to markpublic Object readAttribute(String name, String attrName)
AbstractFileSystem.Attr
readAttribute
in interface AbstractFileSystem.Attr
name
- the fileattrName
- name of the attributenull
if the attribute is unset (or could not be properly restored for some reason)public void writeAttribute(String name, String attrName, Object value) throws IOException
AbstractFileSystem.Attr
writeAttribute
in interface AbstractFileSystem.Attr
name
- the fileattrName
- name of the attributevalue
- new value or null
to clear the attribute. Must be serializable, although particular filesystems may or may not use serialization to store attribute values.IOException
- if the attribute cannot be set. If serialization is used to store it, this may in fact be a subclass such as NotSerializableException
.public Enumeration<String> attributes(String name)
AbstractFileSystem.Attr
attributes
in interface AbstractFileSystem.Attr
name
- the filepublic void renameAttributes(String oldName, String newName)
AbstractFileSystem.Attr
renameAttributes
in interface AbstractFileSystem.Attr
oldName
- old name of the filenewName
- new name of the filepublic void deleteAttributes(String name)
AbstractFileSystem.Attr
deleteAttributes
in interface AbstractFileSystem.Attr
name
- name of the file