Interface BodyDescriptorBuilder

  • All Known Implementing Classes:
    DefaultBodyDescriptorBuilder, FallbackBodyDescriptorBuilder

    public interface BodyDescriptorBuilder

    Body descriptor builders are intended to construct BodyDescriptor instances from multiple unstructured RawFields.

    Body descriptor 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 body descriptor builders 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 BodyDescriptor.
    • Invoke addField(RawField) multiple times method in order to collect necessary details for building a body descriptor. The builder can optionally transform the unstructured field given an an input into a structured one and return an instance Field that also implements a richer interface for a particular type of fields such as Content-Type. The builder can also return null if the field is to be ignored
    • Optionally invoke newChild() for each embedded body of content. Please note that the resultant BodyDescriptorBuilder} child instance can inherit some its parent properties such as MIME type.
    • Invoke build() method in order to generate a BodyDescriptor} instance based on the internal state of the builder.
    • Method Detail

      • reset

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

        Field addField​(RawField field)
                throws MimeException
        Updates builder's internal state by adding a new field. The builder can optionally transform the unstructured field given an an input into a structured one and return an instance Field that also implements a richer interface for a particular type of fields such as Content-Type. The builder can also return null if the field is to be ignored.
        Throws:
        MimeException
      • newChild

        BodyDescriptorBuilder newChild()
        Creates an instance of BodyDescriptorBuilder to be used for processing of an embedded content body. Please the child instance can inherit some of its parent properties such as MIME type.