Package com.luciad.io

Class TLcdTarInputStreamFactory

java.lang.Object
com.luciad.io.TLcdTarInputStreamFactory
All Implemented Interfaces:
ILcdInputStreamFactory, ILcdInputStreamFactoryCapable

public class TLcdTarInputStreamFactory extends Object implements ILcdInputStreamFactory, ILcdInputStreamFactoryCapable
This ILcdInputStreamFactory creates input streams from source names that represent tar files or entries in tar files. The tar files themselves are accessed by means of a given ILcdInputStreamFactory.

Source names for entries in tar files must be formatted as <tar_source_name>!<entry name>.

Since:
7.0.17
  • Constructor Details

    • TLcdTarInputStreamFactory

      public TLcdTarInputStreamFactory()
      Creates a new TLcdTarInputStreamFactory with a default TLcdInputStreamFactory.
    • TLcdTarInputStreamFactory

      public TLcdTarInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
      Creates a new TLcdTarInputStreamFactory with the given ILcdInputStreamFactory.
      Parameters:
      aInputStreamFactory - the ILcdInputStreamFactory to set.
  • Method Details

    • setInputStreamFactory

      public void setInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
      Sets the input stream factory that is used for creating input streams from tar source names.
      Specified by:
      setInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Parameters:
      aInputStreamFactory - the ILcdInputStreamFactory to set.
    • getInputStreamFactory

      public ILcdInputStreamFactory getInputStreamFactory()
      Gets the input stream factory that is used for creating input streams from tar source names.
      Specified by:
      getInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Returns:
      the ILcdInputStreamFactory that will be used for creating input streams from tar source names.
    • createInputStream

      public InputStream createInputStream(String aSourceName) throws IOException
      Creates an input stream from a source name that represents an entry in a tar file. Source names for entries in a tar file should be formatted as [tar source name]![entry name]. Otherwise, the input stream is created directly, without interpreting the file as a tar file.
      Specified by:
      createInputStream in interface ILcdInputStreamFactory
      Parameters:
      aSourceName - source name of an entry in a tar file.
      Returns:
      the InputStream that corresponds with the aSourceName.
      Throws:
      IOException
      See Also:
    • getSourceName

      public static String getSourceName(String aSourceName, String aEntryName)
      Builds a source name for an entry in a tar file.
      Parameters:
      aSourceName - source name of the tar file.
      aEntryName - the name of the entry in the tar file.
      Returns:
      the source name of the entry in the tar file.
    • getTarName

      public static String getTarName(String aSourceName)
      Extracts the tar file name from an entry source name.
      Parameters:
      aSourceName - an entry source name.
      Returns:
      the tar file name
    • getTarEntryName

      public static String getTarEntryName(String aSourceName)
      Extracts the entry name from an entry source name.
      Parameters:
      aSourceName - an entry source name.
      Returns:
      the tar file name