public abstract class CompressedResource extends Resource
Wraps around another resource, delegates all queries (except getSize) to that other resource but uncompresses/compresses streams on the fly.
MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE
description, location, project
Constructor and Description |
---|
CompressedResource()
no arg constructor
|
CompressedResource(ResourceCollection other)
Constructor with another resource to wrap.
|
Modifier and Type | Method and Description |
---|---|
void |
addConfigured(ResourceCollection a)
Sets the resource to wrap using a single-element collection.
|
int |
compareTo(java.lang.Object other)
Delegates to a comparison of names.
|
protected abstract java.lang.String |
getCompressionName() |
java.io.InputStream |
getInputStream()
Get an InputStream for the Resource.
|
long |
getLastModified()
Tells the modification time in milliseconds since 01.01.1970 .
|
java.lang.String |
getName()
Get the name of the resource.
|
java.io.OutputStream |
getOutputStream()
Get an OutputStream for the Resource.
|
long |
getSize()
Get the size of this Resource.
|
int |
hashCode()
Get the hash code for this Resource.
|
boolean |
isDirectory()
Tells if the resource is a directory.
|
boolean |
isExists()
The exists attribute tells whether a file exists.
|
boolean |
isFilesystemOnly()
Fulfill the ResourceCollection contract.
|
void |
setDirectory(boolean directory)
Override setDirectory.
|
void |
setExists(boolean exists)
Set the exists attribute.
|
void |
setLastModified(long lastmodified)
Override setLastModified.
|
void |
setName(java.lang.String name)
Overridden, not allowed to set the name of the resource.
|
void |
setRefid(Reference r)
Overrides the base version.
|
void |
setSize(long size)
Override setSize.
|
java.lang.String |
toString()
Get the string representation of this Resource.
|
protected abstract java.io.InputStream |
wrapStream(java.io.InputStream in)
Is supposed to wrap the stream to allow decompression on the fly.
|
protected abstract java.io.OutputStream |
wrapStream(java.io.OutputStream out)
Is supposed to wrap the stream to allow compression on the fly.
|
clone, equals, getMagicNumber, iterator, size, toLongString
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, tooManyAttributes
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
public CompressedResource()
public CompressedResource(ResourceCollection other)
other
- the resource to wrap.public void addConfigured(ResourceCollection a)
a
- the resource to wrap as a single element Resource collection.public java.lang.String getName()
public void setName(java.lang.String name) throws BuildException
setName
in class Resource
name
- not used.BuildException
- always.public boolean isExists()
public void setExists(boolean exists)
public long getLastModified()
getLastModified
in class Resource
File
.public void setLastModified(long lastmodified) throws BuildException
setLastModified
in class Resource
lastmodified
- not used.BuildException
- always.public boolean isDirectory()
isDirectory
in class Resource
public void setDirectory(boolean directory) throws BuildException
setDirectory
in class Resource
directory
- not used.BuildException
- always.public long getSize()
public void setSize(long size) throws BuildException
setSize
in class Resource
size
- not used.BuildException
- always.public int compareTo(java.lang.Object other)
public int hashCode()
public java.io.InputStream getInputStream() throws java.io.IOException
getInputStream
in class Resource
java.io.IOException
- if unable to provide the content of this
Resource as a stream.java.lang.UnsupportedOperationException
- if InputStreams are not
supported for this Resource type.public java.io.OutputStream getOutputStream() throws java.io.IOException
getOutputStream
in class Resource
java.io.IOException
- if unable to provide the content of this
Resource as a stream.java.lang.UnsupportedOperationException
- if OutputStreams are not
supported for this Resource type.public boolean isFilesystemOnly()
isFilesystemOnly
in interface ResourceCollection
isFilesystemOnly
in class Resource
public java.lang.String toString()
public void setRefid(Reference r)
protected abstract java.io.InputStream wrapStream(java.io.InputStream in) throws java.io.IOException
in
- InputStream to wrap, will never be null.java.io.IOException
- if there is a problem.protected abstract java.io.OutputStream wrapStream(java.io.OutputStream out) throws java.io.IOException
out
- OutputStream to wrap, will never be null.java.io.IOException
- if there is a problem.protected abstract java.lang.String getCompressionName()