Class EncodeRepresentation


  • public class EncodeRepresentation
    extends WrapperRepresentation
    Content that encodes a wrapped content. Allows to apply only one encoding.
    • Field Detail

      • canEncode

        private volatile boolean canEncode
        Indicates if the encoding can happen.
      • encoding

        private volatile Encoding encoding
        The encoding to apply.
      • encodings

        private volatile java.util.List<Encoding> encodings
        The applied encodings.
    • Constructor Detail

      • EncodeRepresentation

        public EncodeRepresentation​(Encoding encoding,
                                    Representation wrappedRepresentation)
        Constructor.
        Parameters:
        encoding - Encoder algorithm.
        wrappedRepresentation - The wrapped representation.
    • Method Detail

      • getSupportedEncodings

        public static java.util.List<Encoding> getSupportedEncodings()
        Returns the list of supported encodings.
        Returns:
        The list of supported encodings.
      • canEncode

        public boolean canEncode()
        Indicates if the encoding can happen.
        Returns:
        True if the encoding can happen.
      • getAvailableSize

        public long getAvailableSize()
        Returns the available size in bytes of the encoded representation if known, UNKNOWN_SIZE (-1) otherwise.
        Overrides:
        getAvailableSize in class WrapperRepresentation
        Returns:
        The available size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
      • getChannel

        public java.nio.channels.ReadableByteChannel getChannel()
                                                         throws java.io.IOException
        Returns a readable byte channel. If it is supported by a file a read-only instance of FileChannel is returned.
        Overrides:
        getChannel in class WrapperRepresentation
        Returns:
        A readable byte channel.
        Throws:
        java.io.IOException
      • getReader

        public java.io.Reader getReader()
                                 throws java.io.IOException
        Description copied from class: Representation
        Returns a characters reader with the representation's content. This method is ensured to return a fresh reader for each invocation unless it is a transient representation, in which case null is returned. If the representation has no character set defined, the system's default one will be used.
        Overrides:
        getReader in class WrapperRepresentation
        Returns:
        A reader with the representation's content.
        Throws:
        java.io.IOException
      • getSize

        public long getSize()
        Returns the size in bytes of the encoded representation if known, UNKNOWN_SIZE (-1) otherwise.
        Overrides:
        getSize in class WrapperRepresentation
        Returns:
        The size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
        See Also:
        Representation.isEmpty()
      • getStream

        public java.io.InputStream getStream()
                                      throws java.io.IOException
        Description copied from class: Representation
        Returns a stream with the representation's content. This method is ensured to return a fresh stream for each invocation unless it is a transient representation, in which case null is returned.
        Overrides:
        getStream in class WrapperRepresentation
        Returns:
        A stream with the representation's content.
        Throws:
        java.io.IOException
      • getText

        public java.lang.String getText()
                                 throws java.io.IOException
        Description copied from class: Representation
        Converts the representation to a string value. Be careful when using this method as the conversion of large content to a string fully stored in memory can result in OutOfMemoryErrors being thrown.
        Overrides:
        getText in class WrapperRepresentation
        Returns:
        The representation as a string value.
        Throws:
        java.io.IOException
      • write

        public void write​(java.io.OutputStream outputStream)
                   throws java.io.IOException
        Description copied from class: Representation
        Writes the representation to a byte stream. This method is ensured to write the full content for each invocation unless it is a transient representation, in which case an exception is thrown.

        Note that the class implementing this method shouldn't flush or close the given OutputStream after writing to it as this will be handled by the Restlet connectors automatically.
        Overrides:
        write in class WrapperRepresentation
        Parameters:
        outputStream - The output stream.
        Throws:
        java.io.IOException
      • write

        public void write​(java.nio.channels.WritableByteChannel writableChannel)
                   throws java.io.IOException
        Description copied from class: Representation
        Writes the representation to a byte channel. This method is ensured to write the full content for each invocation unless it is a transient representation, in which case an exception is thrown.
        Overrides:
        write in class WrapperRepresentation
        Parameters:
        writableChannel - A writable byte channel.
        Throws:
        java.io.IOException
      • write

        public void write​(java.io.Writer writer)
                   throws java.io.IOException
        Description copied from class: Representation
        Writes the representation to a characters writer. This method is ensured to write the full content for each invocation unless it is a transient representation, in which case an exception is thrown.

        Note that the class implementing this method shouldn't flush or close the given Writer after writing to it as this will be handled by the Restlet connectors automatically.
        Overrides:
        write in class WrapperRepresentation
        Parameters:
        writer - The characters writer.
        Throws:
        java.io.IOException