Class HeaderTranslator


  • @Immutable
    public final class HeaderTranslator
    extends Object
    Utility for translating Headers from external sources or to external sources.

    Does so by applying blacklisting based on HeaderDefinitions.

    • Method Detail

      • empty

        public static HeaderTranslator empty()
        Construct a Ditto header translator that knows about nothing.
        Returns:
        the Ditto header translator.
      • of

        public static HeaderTranslator of​(org.eclipse.ditto.model.base.headers.HeaderDefinition[]... headerDefinitions)
        Construct a Ditto header translator from arrays of header definitions.
        Parameters:
        headerDefinitions - arrays of header definitions.
        Returns:
        the Ditto header translator that knows about the given definitions.
      • fromExternalHeaders

        public org.eclipse.ditto.model.base.headers.DittoHeaders fromExternalHeaders​(Map<String,​String> externalHeaders)
        Read Ditto headers from external headers.
        Parameters:
        externalHeaders - external headers as a map.
        Returns:
        Ditto headers initialized with values from external headers.
      • toExternalHeaders

        public Map<String,​String> toExternalHeaders​(org.eclipse.ditto.model.base.headers.DittoHeaders dittoHeaders)
        Publish Ditto headers to external headers.
        Parameters:
        dittoHeaders - Ditto headers to publish.
        Returns:
        external headers.
      • forgetHeaderKeys

        public HeaderTranslator forgetHeaderKeys​(Collection<String> headerKeys)
        Build a copy of this header translator without knowledge of certain headers.
        Parameters:
        headerKeys - header keys to forget.
        Returns:
        a new header translator with less knowledge.