Package org.apache.tools.ant.types.optional.xz

# Class XzResource

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
org.apache.tools.ant.types.resources.CompressedResource
org.apache.tools.ant.types.optional.xz.XzResource

All Implemented Interfaces:
  `java.lang.Cloneable`, `java.lang.Comparable<Resource>`, `java.lang.Iterable<Resource>`, `ResourceCollection`

    public class XzResource
    extends CompressedResource

A XZ compressed resource.

Wraps around another resource, delegates all queries to that other resource but uncompresses/compresses streams on the fly.

Since:
  Ant 1.10.1

## 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.types.DataType

`checked, ref`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`XzResource()` | A no-arg constructor
`XzResource​(ResourceCollection other)` | Constructor with another resource to wrap.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`protected java.lang.String` | `getCompressionName()` | Get the name of the compression method.
`protected java.io.InputStream` | `wrapStream​(java.io.InputStream in)` | Decompress on the fly using java.util.zip.XZInputStream.
`protected java.io.OutputStream` | `wrapStream​(java.io.OutputStream out)` | Compress on the fly using java.util.zip.XZOutStream.

### Methods inherited from class org.apache.tools.ant.types.resources.CompressedResource

`toString`

### Methods inherited from class org.apache.tools.ant.types.resources.ContentTransformingResource

`as, getInputStream, getOutputStream, getSize, isAppendSupported`

### 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`

### 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

### XzResource

public XzResource()
A no-arg constructor

### XzResource

public XzResource​(ResourceCollection other)
Constructor with another resource to wrap.

Parameters:
  `other` - the resource to wrap.

## Method Details

### wrapStream

protected java.io.InputStream wrapStream​(java.io.InputStream in) throws java.io.IOException
Decompress on the fly using java.util.zip.XZInputStream.

Specified by:
  `wrapStream` in class `ContentTransformingResource`
Parameters:
  `in` - the stream to wrap.
Returns:
  the wrapped stream.
Throws:
  `java.io.IOException` - if there is a problem.

### wrapStream

protected java.io.OutputStream wrapStream​(java.io.OutputStream out) throws java.io.IOException
Compress on the fly using java.util.zip.XZOutStream.

Specified by:
  `wrapStream` in class `ContentTransformingResource`
Parameters:
  `out` - the stream to wrap.
Returns:
  the wrapped stream.
Throws:
  `java.io.IOException` - if there is a problem.

### getCompressionName

protected java.lang.String getCompressionName()
Get the name of the compression method.

Specified by:
  `getCompressionName` in class `CompressedResource`
Returns:
  the string "XZ".