TarResource (Apache Ant API)
Date: 2018-03-24

org.apache.tools.ant.types.resources

## Class TarResource

- 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.ArchiveResource
        - - org.apache.tools.ant.types.resources.TarResource

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

      public class TarResource
      extends ArchiveResource

  A Resource representation of an entry in a tar archive.
  Since:
    Ant 1.7

- - ### 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 and Description
    `TarResource()` Default constructor.
    `TarResource(java.io.File a, TarEntry e)` Construct a TarResource representing the specified entry in the specified archive.
    `TarResource(Resource a, TarEntry e)` Construct a TarResource representing the specified entry in the specified archive.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `fetchEntry()` fetches information from the named entry inside the archive.
    `protected TarResource` | `getCheckedRef()` Performs the check for circular references and returns the referenced object.
    `int` | `getGid()`
    `java.lang.String` | `getGroup()`
    `java.io.InputStream` | `getInputStream()` Return an InputStream for reading the contents of this Resource.
    `java.io.OutputStream` | `getOutputStream()` Get an OutputStream for the Resource.
    `int` | `getUid()`
    `java.lang.String` | `getUserName()`

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

      `addConfigured, checkEntry, compareTo, dieOnCircularReference, equals, getArchive, getLastModified, getMode, getSize, hashCode, isDirectory, isExists, setArchive, setMode, setRefid, toString`

    - ### Methods inherited from class org.apache.tools.ant.types.Resource

      `as, asOptional, clone, getMagicNumber, getName, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString`

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, 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 org.apache.tools.ant.types.ResourceCollection

      `isEmpty, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### TarResource

          public TarResource()

      Default constructor.

    - #### TarResource

          public TarResource(java.io.File a,
                             TarEntry e)

      Construct a TarResource representing the specified entry in the specified archive.
      Parameters:
        `a` - the archive as File.
        `e` - the TarEntry.

    - #### TarResource

          public TarResource(Resource a,
                             TarEntry e)

      Construct a TarResource representing the specified entry in the specified archive.
      Parameters:
        `a` - the archive as Resource.
        `e` - the TarEntry.

  - ### Method Detail

    - #### getInputStream

          public java.io.InputStream getInputStream()
                                             throws java.io.IOException

      Return an InputStream for reading the contents of this Resource.
      Overrides:
        `getInputStream` in class `Resource`
      Returns:
        an InputStream object.
      Throws:
        `java.io.IOException` - if the tar file cannot be opened, or the entry cannot be read.

    - #### getOutputStream

          public java.io.OutputStream getOutputStream()
                                               throws java.io.IOException

      Get an OutputStream for the Resource.
      Overrides:
        `getOutputStream` in class `Resource`
      Returns:
        an OutputStream to which content can be written.
      Throws:
        `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.

    - #### getUserName

          public java.lang.String getUserName()

      Returns:
        the user name for the tar entry

    - #### getGroup

          public java.lang.String getGroup()

      Returns:
        the group name for the tar entry

    - #### getUid

          public int getUid()

      Returns:
        the uid for the tar entry

    - #### getGid

          public int getGid()

      Returns:
        the gid for the tar entry

    - #### fetchEntry

          protected void fetchEntry()

      fetches information from the named entry inside the archive.
      Specified by:
        `fetchEntry` in class `ArchiveResource`

    - #### getCheckedRef

          protected TarResource getCheckedRef()

      Description copied from class: `DataType`
      Performs the check for circular references and returns the referenced object.
      Overrides:
        `getCheckedRef` in class `ArchiveResource`
      Returns:
        the dereferenced object.