Class AbstractAS4IncomingDumperWithHeaders<IMPLTYPE extends AbstractAS4IncomingDumperWithHeaders<IMPLTYPE>>

java.lang.Object
com.helger.phase4.dump.AbstractAS4IncomingDumperWithHeaders<IMPLTYPE>
Type Parameters:
IMPLTYPE - Implementation type (since v3.0.0)
All Implemented Interfaces:
com.helger.commons.traits.IGenericImplTrait<IMPLTYPE>, IAS4IncomingDumper
Direct Known Subclasses:
AS4IncomingDumperFileBased, AS4IncomingDumperSingleUse

public abstract class AbstractAS4IncomingDumperWithHeaders<IMPLTYPE extends AbstractAS4IncomingDumperWithHeaders<IMPLTYPE>> extends Object implements IAS4IncomingDumper, com.helger.commons.traits.IGenericImplTrait<IMPLTYPE>
Abstract version of IAS4IncomingDumper that emits all headers on the output stream.
Since:
0.9.7
Author:
Philip Helger
  • Field Details

    • DEFAULT_INCLUDE_HEADERS

      public static final boolean DEFAULT_INCLUDE_HEADERS
      See Also:
  • Constructor Details

    • AbstractAS4IncomingDumperWithHeaders

      public AbstractAS4IncomingDumperWithHeaders()
  • Method Details

    • isIncludeHeaders

      public final boolean isIncludeHeaders()
      Returns:
      true to include the headers in the dump, false if not. The default is DEFAULT_INCLUDE_HEADERS.
      Since:
      2.5.2
    • setIncludeHeaders

      public final IMPLTYPE setIncludeHeaders(boolean b)
      Include or exclude the headers from the dump.
      Parameters:
      b - true to include the headers in the dump, false if not.
      Returns:
      this for chaining (since v3.0.0)
      Since:
      2.5.2
    • openOutputStream

      @Nullable protected abstract OutputStream openOutputStream(@Nonnull IAS4IncomingMessageMetadata aMessageMetadata, @Nonnull com.helger.commons.http.HttpHeaderMap aHttpHeaderMap) throws IOException
      Create the output stream to which the data should be dumped.
      Parameters:
      aMessageMetadata - Request metadata. Never null. Since v0.9.8.
      aHttpHeaderMap - The HTTP headers of the incoming message. Never null.
      Returns:
      The output stream to dump to or null if no dumping should be performed.
      Throws:
      IOException - On IO error
    • onNewRequest

      @Nullable public OutputStream onNewRequest(@Nonnull IAS4IncomingMessageMetadata aMessageMetadata, @Nonnull com.helger.commons.http.HttpHeaderMap aHttpHeaderMap) throws IOException
      Description copied from interface: IAS4IncomingDumper
      Called for new incoming AS4 requests. It's the responsibility of the caller to close the created output stream.
      Specified by:
      onNewRequest in interface IAS4IncomingDumper
      Parameters:
      aMessageMetadata - Message metadata. Never null. Since v0.9.8.
      aHttpHeaderMap - The HTTP headers of the request. Never null.
      Returns:
      If null is returned, nothing is dumped, else each byte read from the source stream is written to that output stream. The OutputStream must be closed by the caller.
      Throws:
      IOException - in case of an error
    • onEndRequest

      public void onEndRequest(@Nonnull IAS4IncomingMessageMetadata aMessageMetadata, @Nullable Exception aCaughtException)
      Description copied from interface: IAS4IncomingDumper
      Called after the AS4 request is handled internally. Can e.g. be used to cleanup resources belonging to the message. This method may not throw an exception. Since 1.3.0 this method is only called, if IAS4IncomingDumper.onNewRequest(IAS4IncomingMessageMetadata, HttpHeaderMap) returned non-null.
      Specified by:
      onEndRequest in interface IAS4IncomingDumper
      Parameters:
      aMessageMetadata - Message metadata. Never null.
      aCaughtException - An eventually caught exception.