Class ContentTransformingResource
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Resource
org.apache.tools.ant.types.resources.ResourceDecorator
org.apache.tools.ant.types.resources.ContentTransformingResource
- All Implemented Interfaces:
Cloneable
,Comparable<Resource>
,Iterable<Resource>
,ResourceCollection
- Direct Known Subclasses:
CompressedResource
A resource that transforms the content of another resource.
Wraps around another resource, delegates all queries (except getSize) to that other resource but transforms stream content on the fly.
- Since:
- Ant 1.8
-
Field Summary
Fields inherited from class org.apache.tools.ant.types.Resource
MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
ModifierConstructorDescriptionprotected
no arg constructorprotected
Constructor with another resource to wrap. -
Method Summary
Modifier and TypeMethodDescription<T> T
Suppress FileProvider, re-implement AppendableGet an InputStream for the Resource.Get an OutputStream for the Resource.long
getSize()
Get the size of this Resource.protected boolean
Learn whether the transformation performed allows appends.protected abstract InputStream
Get a content-filtering/transforming InputStream.protected abstract OutputStream
wrapStream
(OutputStream out) Get a content-filtering/transforming OutputStream.Methods inherited from class org.apache.tools.ant.types.resources.ResourceDecorator
addConfigured, compareTo, dieOnCircularReference, getLastModified, getName, getResource, hashCode, isDirectory, isExists, isFilesystemOnly, setDirectory, setExists, setLastModified, setName, setRefid, setSize
Methods inherited from class org.apache.tools.ant.types.Resource
asOptional, clone, equals, getMagicNumber, getRef, iterator, size, toLongString, toString
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.tools.ant.types.ResourceCollection
isEmpty, stream
-
Constructor Details
-
ContentTransformingResource
protected ContentTransformingResource()no arg constructor -
ContentTransformingResource
Constructor with another resource to wrap.- Parameters:
other
- the resource to wrap.
-
-
Method Details
-
getSize
public long getSize()Get the size of this Resource.- Overrides:
getSize
in classResourceDecorator
- Returns:
- the size, as a long, 0 if the Resource does not exist (for compatibility with java.io.File), or UNKNOWN_SIZE if not known.
-
getInputStream
Get an InputStream for the Resource.- Overrides:
getInputStream
in classResourceDecorator
- Returns:
- an InputStream containing this Resource's content.
- Throws:
IOException
- if unable to provide the content of this Resource as a stream.UnsupportedOperationException
- if InputStreams are not supported for this Resource type.
-
getOutputStream
Get an OutputStream for the Resource.- Overrides:
getOutputStream
in classResourceDecorator
- Returns:
- an OutputStream to which content can be written.
- Throws:
IOException
- if unable to provide the content of this Resource as a stream.UnsupportedOperationException
- if OutputStreams are not supported for this Resource type.
-
as
Suppress FileProvider, re-implement Appendable- Overrides:
as
in classResourceDecorator
- Type Parameters:
T
- desired type- Parameters:
clazz
- a class- Returns:
- resource of a desired type
-
isAppendSupported
protected boolean isAppendSupported()Learn whether the transformation performed allows appends.In general compressed outputs will become invalid if they are appended to, for example.
This implementations returns false.
- Returns:
- boolean false
-
wrapStream
Get a content-filtering/transforming InputStream.- Parameters:
in
- InputStream to wrap, will never be null.- Returns:
- a compressed InputStream.
- Throws:
IOException
- if there is a problem.
-
wrapStream
Get a content-filtering/transforming OutputStream.- Parameters:
out
- OutputStream to wrap, will never be null.- Returns:
- a compressed OutputStream.
- Throws:
IOException
- if there is a problem.
-