Class ThrottledTemplateProcessor

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      getProcessorIdentifier()
      Returns an identifier for this processor that should enable the tracing of its executions.
      TemplateSpec getTemplateSpec()
      Return the TemplateSpec this throttled template processor object is acting on.
      IThrottledTemplateWriterControl getThrottledTemplateWriterControl()  
      boolean isFinished()
      Checks whether the processing of the template has already finished.
      int process​(int maxOutputInBytes,  outputStream,  charset)
      Process the template until at most the specified amount of bytes has been written to output, then return control.
      int process​(int maxOutputInChars,  writer)
      Process the template until at most the specified amount of chars has been written to output, then return control.
      int  outputStream,  charset)
      Process the whole template (all parts remaining), with no limit in the amount of bytes written to output.
      int  writer)
      Process the whole template (all parts remaining), with no limit in the amount of chars written to output.
      • Methods inherited from class java.lang.

        , , , , , , , , , ,
    • Method Detail

      • isFinished

        public boolean isFinished()
        Description copied from interface: IThrottledTemplateProcessor

        Checks whether the processing of the template has already finished.

        NOTE Implementations of this method must be thread-safe as, even if executions of the throttled processor (calls to process(...) methods) should never happen concurrently, determining whether a throttled processor has finished or not can happen concurrently from different threads as a way of short-cutting the execution of the processor (and avoid excessive consumption of upstream data, for example).

        Specified by:
        isFinished in interface IThrottledTemplateProcessor
        Returns:
        true if the template has already been fully processed, false if not.
      • getProcessorIdentifier

        public  getProcessorIdentifier()
        Description copied from interface: IThrottledTemplateProcessor

        Returns an identifier for this processor that should enable the tracing of its executions.

        Given throttled processors are often used in reactive environments, in which different executions of a throttled processor might be performed by different threads (in a non-interleaved manner), this identifier should help identifying at the log trace the specific processor being executed independently of the thread ID.

        Though it is not completely required that the identifier returned by this method is unique by construction, it should be unique enough to be of practical use as an identifier.

        Specified by:
        getProcessorIdentifier in interface IThrottledTemplateProcessor
        Returns:
        the identifier for this processor object.
      • processAll

        public int processAll​( writer)
        Description copied from interface: IThrottledTemplateProcessor

        Process the whole template (all parts remaining), with no limit in the amount of chars written to output.

        Specified by:
        processAll in interface IThrottledTemplateProcessor
        Parameters:
        writer - the writer output should be written to.
        Returns:
        the amount of bytes written to output.
      • processAll

        public int processAll​( outputStream,
                               charset)
        Description copied from interface: IThrottledTemplateProcessor

        Process the whole template (all parts remaining), with no limit in the amount of bytes written to output.

        Specified by:
        processAll in interface IThrottledTemplateProcessor
        Parameters:
        outputStream - the output stream output should be written to.
        charset - the charset to be used for encoding the written output into bytes.
        Returns:
        the amount of bytes written to output.
      • process

        public int process​(int maxOutputInChars,
                            writer)
        Description copied from interface: IThrottledTemplateProcessor

        Process the template until at most the specified amount of chars has been written to output, then return control.

        Specified by:
        process in interface IThrottledTemplateProcessor
        Parameters:
        maxOutputInChars - the maximum amount of chars that the engine is allowed to output. A number < 0 or will mean "no limit".
        writer - the writer output should be written to.
        Returns:
        the amount of bytes written to output.
      • process

        public int process​(int maxOutputInBytes,
                            outputStream,
                            charset)
        Description copied from interface: IThrottledTemplateProcessor

        Process the template until at most the specified amount of bytes has been written to output, then return control.

        Specified by:
        process in interface IThrottledTemplateProcessor
        Parameters:
        maxOutputInBytes - the maximum amount of bytes that the engine is allowed to output. A number < 0 or will mean "no limit".
        outputStream - the output stream output should be written to.
        charset - the charset to be used for encoding the written output into bytes.
        Returns:
        the amount of bytes written to output.