Interface FieldBuilder

All Known Implementing Classes:
DefaultFieldBuilder

public interface FieldBuilder

Field builders are intended to construct RawField instances from multiple lines contained in ByteArrayBuffers.

Field builders are stateful and modal as they have to store intermediate results between method invocations and also rely on a particular sequence of method invocations (the mode of operation).

Consumers are expected to interact with field builder in the following way:

  • Invoke reset() method in order to reset builder's internal state and make it ready to start the process of building a new RawField.
  • Invoke append(ByteArrayBuffer) method one or multiple times in order to build an internal representation of a MIME field from individual lines of text.
  • Optionally getRaw() method can be invoked in order to get combined content of all lines processed so far. Please note builder implementations can return null if they do not retain original raw content.
  • Invoke build() method in order to generate a RawField instance based on the internal state of the builder.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Updates builder's internal state by adding a new line of text.
    Builds an instance of RawField based on the internal state.
    Returns combined content of all lines processed so far or null if the builder does not retain original raw content.
    void
     
    void
    Resets the internal state of the builder making it ready to process new input.
  • Method Details

    • reset

      void reset()
      Resets the internal state of the builder making it ready to process new input.
    • append

      void append(ByteArrayBuffer line) throws MimeException
      Updates builder's internal state by adding a new line of text.
      Throws:
      MimeException
    • build

      RawField build() throws MimeException
      Builds an instance of RawField based on the internal state.
      Throws:
      MimeException
    • getRaw

      Returns combined content of all lines processed so far or null if the builder does not retain original raw content.
    • release

      void release()