Package com.luciad.io

Class TLcdZipInputStreamFactory

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

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

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

Since:
7.0.17
  • Constructor Details

    • TLcdZipInputStreamFactory

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

      public TLcdZipInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
      Creates a new TLcdZipInputStreamFactory 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 zip 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 zip source names.
      Specified by:
      getInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Returns:
      the ILcdInputStreamFactory that will be used for creating input streams from zip source names.
    • createInputStream

      public InputStream createInputStream(String aSourceName) throws IOException
      Creates an input stream from a source name that represents an entry in a zip file. Source names for entries in a zip file should be formatted as [zip source name]![entry name]. Otherwise, the input stream is created directly, without interpreting the file as a zip file.
      Specified by:
      createInputStream in interface ILcdInputStreamFactory
      Parameters:
      aSourceName - source name of a zip file or an entry in a zip 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 zip file.
      Parameters:
      aSourceName - source name of the zip file.
      aEntryName - the name of the entry in the zip file.
      Returns:
      the source name of the entry in the zip file.
    • getZipName

      public static String getZipName(String aSourceName)
      Extracts the zip file name from an entry source name.
      Parameters:
      aSourceName - an entry source name.
      Returns:
      the zip file name
    • getZipEntryName

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