Class AbstractCoder

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class<?>[] optionClasses  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractCoder​(java.lang.Class<?>... optionClasses)
      Constructs a new instance.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) abstract java.io.InputStream decode​(java.lang.String archiveName, java.io.InputStream in, long uncompressedLength, Coder coder, byte[] password, int maxMemoryLimitInKb)
      Decodes using stream that reads from in using the configured coder and password.
      (package private) java.io.OutputStream encode​(java.io.OutputStream out, java.lang.Object options)
      Encodes using a stream that writes to out using the given configuration.
      (package private) byte[] getOptionsAsProperties​(java.lang.Object options)
      Gets property bytes to write in a Folder block.
      (package private) java.lang.Object getOptionsFromCoder​(Coder coder, java.io.InputStream in)
      Gets configuration options that have been used to create the given InputStream from the given Coder.
      (package private) boolean isOptionInstance​(java.lang.Object opts)
      Tests whether this method can extract options from the given object.
      protected static int toInt​(java.lang.Object options, int defaultValue)
      If the option represents a number, return its integer value, otherwise return the given default value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • optionClasses

        private final java.lang.Class<?>[] optionClasses
    • Constructor Detail

      • AbstractCoder

        protected AbstractCoder​(java.lang.Class<?>... optionClasses)
        Constructs a new instance.
        Parameters:
        optionClasses - types that can be used as options for this codec.
    • Method Detail

      • toInt

        protected static int toInt​(java.lang.Object options,
                                   int defaultValue)
        If the option represents a number, return its integer value, otherwise return the given default value.
        Parameters:
        options - A Number.
        defaultValue - A default value if options is not a number.
        Returns:
        The given number or default value.
      • decode

        abstract java.io.InputStream decode​(java.lang.String archiveName,
                                            java.io.InputStream in,
                                            long uncompressedLength,
                                            Coder coder,
                                            byte[] password,
                                            int maxMemoryLimitInKb)
                                     throws java.io.IOException
        Decodes using stream that reads from in using the configured coder and password.
        Returns:
        a stream that reads from in using the configured coder and password.
        Throws:
        java.io.IOException
      • encode

        java.io.OutputStream encode​(java.io.OutputStream out,
                                    java.lang.Object options)
                             throws java.io.IOException
        Encodes using a stream that writes to out using the given configuration.
        Returns:
        a stream that writes to out using the given configuration.
        Throws:
        java.io.IOException - Optionally thrown by subclassses.
      • getOptionsAsProperties

        byte[] getOptionsAsProperties​(java.lang.Object options)
                               throws java.io.IOException
        Gets property bytes to write in a Folder block.
        Returns:
        property bytes to write in a Folder block.
        Throws:
        java.io.IOException - Optionally thrown by subclassses.
      • getOptionsFromCoder

        java.lang.Object getOptionsFromCoder​(Coder coder,
                                             java.io.InputStream in)
                                      throws java.io.IOException
        Gets configuration options that have been used to create the given InputStream from the given Coder.
        Returns:
        configuration options that have been used to create the given InputStream from the given Coder
        Throws:
        java.io.IOException - Optionally thrown by subclassses.
      • isOptionInstance

        boolean isOptionInstance​(java.lang.Object opts)
        Tests whether this method can extract options from the given object.
        Returns:
        whether this method can extract options from the given object.