Class ImmutableMessageImpl

  • All Implemented Interfaces:
    io.floodplain.immutable.api.ImmutableMessage

    public class ImmutableMessageImpl
    extends java.lang.Object
    implements io.floodplain.immutable.api.ImmutableMessage
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.floodplain.immutable.api.ImmutableMessage

        io.floodplain.immutable.api.ImmutableMessage.TriConsumer, io.floodplain.immutable.api.ImmutableMessage.Trifunction, io.floodplain.immutable.api.ImmutableMessage.TypedData, io.floodplain.immutable.api.ImmutableMessage.ValueType
    • Constructor Summary

      Constructors 
      Constructor Description
      ImmutableMessageImpl​(java.util.Map<java.lang.String,​?> values, java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.ValueType> types, java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> submessage, java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> submessages)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Set<java.lang.String> columnNames()  
      io.floodplain.immutable.api.ImmutableMessage.ValueType columnType​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.lang.Object> flatValueMap​(boolean ignoreNull, java.util.Set<java.lang.String> ignore, java.lang.String prefix)  
      java.util.Map<java.lang.String,​java.lang.Object> flatValueMap​(java.lang.String prefix, io.floodplain.immutable.api.ImmutableMessage.Trifunction processType)  
      io.floodplain.immutable.api.ImmutableMessage merge​(io.floodplain.immutable.api.ImmutableMessage other, java.util.Optional<java.util.List<java.lang.String>> only)  
      io.floodplain.immutable.api.ImmutableMessage rename​(java.lang.String columnName, java.lang.String newName)  
      java.util.Optional<io.floodplain.immutable.api.ImmutableMessage> subMessage​(java.lang.String field)  
      java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessageListMap()  
      java.util.Set<java.lang.String> subMessageListNames()  
      java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> subMessageMap()  
      java.util.Set<java.lang.String> subMessageNames()  
      java.util.Optional<java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessages​(java.lang.String field)  
      java.lang.String toString()  
      java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.TypedData> toTypedDataMap()  
      java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.ValueType> types()  
      java.util.Optional<java.lang.Object> value​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.lang.Object> valueMap​(boolean ignoreNull, java.util.Set<java.lang.String> ignore, java.util.List<java.lang.String> currentPath)  
      java.util.Map<java.lang.String,​java.lang.Object> values()  
      io.floodplain.immutable.api.ImmutableMessage with​(java.lang.String key, java.lang.Object value, io.floodplain.immutable.api.ImmutableMessage.ValueType type)  
      io.floodplain.immutable.api.ImmutableMessage withAddedSubMessage​(java.lang.String field, io.floodplain.immutable.api.ImmutableMessage message)  
      io.floodplain.immutable.api.ImmutableMessage withAllSubMessage​(java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> subMessageMap)  
      io.floodplain.immutable.api.ImmutableMessage withAllSubMessageLists​(java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessageListMap)  
      io.floodplain.immutable.api.ImmutableMessage without​(java.lang.String columnName)  
      io.floodplain.immutable.api.ImmutableMessage without​(java.util.List<java.lang.String> columns)  
      io.floodplain.immutable.api.ImmutableMessage withoutSubMessage​(java.lang.String field)  
      io.floodplain.immutable.api.ImmutableMessage withoutSubMessageInList​(java.lang.String field, java.util.function.Predicate<io.floodplain.immutable.api.ImmutableMessage> selector)  
      io.floodplain.immutable.api.ImmutableMessage withoutSubMessages​(java.lang.String field)  
      io.floodplain.immutable.api.ImmutableMessage withSubMessage​(java.lang.String field, io.floodplain.immutable.api.ImmutableMessage message)  
      io.floodplain.immutable.api.ImmutableMessage withSubMessages​(java.lang.String field, java.util.List<io.floodplain.immutable.api.ImmutableMessage> message)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ImmutableMessageImpl

        public ImmutableMessageImpl​(java.util.Map<java.lang.String,​?> values,
                                    java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.ValueType> types,
                                    java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> submessage,
                                    java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> submessages)
    • Method Detail

      • subMessageNames

        public java.util.Set<java.lang.String> subMessageNames()
        Specified by:
        subMessageNames in interface io.floodplain.immutable.api.ImmutableMessage
      • subMessageListNames

        public java.util.Set<java.lang.String> subMessageListNames()
        Specified by:
        subMessageListNames in interface io.floodplain.immutable.api.ImmutableMessage
      • types

        public java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.ValueType> types()
        Specified by:
        types in interface io.floodplain.immutable.api.ImmutableMessage
      • valueMap

        public java.util.Map<java.lang.String,​java.lang.Object> valueMap​(boolean ignoreNull,
                                                                               java.util.Set<java.lang.String> ignore,
                                                                               java.util.List<java.lang.String> currentPath)
        Specified by:
        valueMap in interface io.floodplain.immutable.api.ImmutableMessage
      • columnNames

        public java.util.Set<java.lang.String> columnNames()
        Specified by:
        columnNames in interface io.floodplain.immutable.api.ImmutableMessage
      • value

        public java.util.Optional<java.lang.Object> value​(java.lang.String name)
        Specified by:
        value in interface io.floodplain.immutable.api.ImmutableMessage
      • columnType

        public io.floodplain.immutable.api.ImmutableMessage.ValueType columnType​(java.lang.String name)
        Specified by:
        columnType in interface io.floodplain.immutable.api.ImmutableMessage
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • subMessages

        public java.util.Optional<java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessages​(java.lang.String field)
        Specified by:
        subMessages in interface io.floodplain.immutable.api.ImmutableMessage
      • subMessage

        public java.util.Optional<io.floodplain.immutable.api.ImmutableMessage> subMessage​(java.lang.String field)
        Specified by:
        subMessage in interface io.floodplain.immutable.api.ImmutableMessage
      • withSubMessages

        public io.floodplain.immutable.api.ImmutableMessage withSubMessages​(java.lang.String field,
                                                                            java.util.List<io.floodplain.immutable.api.ImmutableMessage> message)
        Specified by:
        withSubMessages in interface io.floodplain.immutable.api.ImmutableMessage
      • withSubMessage

        public io.floodplain.immutable.api.ImmutableMessage withSubMessage​(java.lang.String field,
                                                                           io.floodplain.immutable.api.ImmutableMessage message)
        Specified by:
        withSubMessage in interface io.floodplain.immutable.api.ImmutableMessage
      • without

        public io.floodplain.immutable.api.ImmutableMessage without​(java.lang.String columnName)
        Specified by:
        without in interface io.floodplain.immutable.api.ImmutableMessage
      • without

        public io.floodplain.immutable.api.ImmutableMessage without​(java.util.List<java.lang.String> columns)
        Specified by:
        without in interface io.floodplain.immutable.api.ImmutableMessage
      • rename

        public io.floodplain.immutable.api.ImmutableMessage rename​(java.lang.String columnName,
                                                                   java.lang.String newName)
        Specified by:
        rename in interface io.floodplain.immutable.api.ImmutableMessage
      • with

        public io.floodplain.immutable.api.ImmutableMessage with​(java.lang.String key,
                                                                 java.lang.Object value,
                                                                 io.floodplain.immutable.api.ImmutableMessage.ValueType type)
        Specified by:
        with in interface io.floodplain.immutable.api.ImmutableMessage
      • withoutSubMessages

        public io.floodplain.immutable.api.ImmutableMessage withoutSubMessages​(java.lang.String field)
        Specified by:
        withoutSubMessages in interface io.floodplain.immutable.api.ImmutableMessage
      • withoutSubMessage

        public io.floodplain.immutable.api.ImmutableMessage withoutSubMessage​(java.lang.String field)
        Specified by:
        withoutSubMessage in interface io.floodplain.immutable.api.ImmutableMessage
      • subMessageMap

        public java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> subMessageMap()
        Specified by:
        subMessageMap in interface io.floodplain.immutable.api.ImmutableMessage
      • subMessageListMap

        public java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessageListMap()
        Specified by:
        subMessageListMap in interface io.floodplain.immutable.api.ImmutableMessage
      • merge

        public io.floodplain.immutable.api.ImmutableMessage merge​(io.floodplain.immutable.api.ImmutableMessage other,
                                                                  java.util.Optional<java.util.List<java.lang.String>> only)
        Specified by:
        merge in interface io.floodplain.immutable.api.ImmutableMessage
      • withAllSubMessageLists

        public io.floodplain.immutable.api.ImmutableMessage withAllSubMessageLists​(java.util.Map<java.lang.String,​java.util.List<io.floodplain.immutable.api.ImmutableMessage>> subMessageListMap)
        Specified by:
        withAllSubMessageLists in interface io.floodplain.immutable.api.ImmutableMessage
      • withAllSubMessage

        public io.floodplain.immutable.api.ImmutableMessage withAllSubMessage​(java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage> subMessageMap)
        Specified by:
        withAllSubMessage in interface io.floodplain.immutable.api.ImmutableMessage
      • withAddedSubMessage

        public io.floodplain.immutable.api.ImmutableMessage withAddedSubMessage​(java.lang.String field,
                                                                                io.floodplain.immutable.api.ImmutableMessage message)
        Specified by:
        withAddedSubMessage in interface io.floodplain.immutable.api.ImmutableMessage
      • withoutSubMessageInList

        public io.floodplain.immutable.api.ImmutableMessage withoutSubMessageInList​(java.lang.String field,
                                                                                    java.util.function.Predicate<io.floodplain.immutable.api.ImmutableMessage> selector)
        Specified by:
        withoutSubMessageInList in interface io.floodplain.immutable.api.ImmutableMessage
      • flatValueMap

        public java.util.Map<java.lang.String,​java.lang.Object> flatValueMap​(boolean ignoreNull,
                                                                                   java.util.Set<java.lang.String> ignore,
                                                                                   java.lang.String prefix)
        Specified by:
        flatValueMap in interface io.floodplain.immutable.api.ImmutableMessage
      • flatValueMap

        public java.util.Map<java.lang.String,​java.lang.Object> flatValueMap​(java.lang.String prefix,
                                                                                   io.floodplain.immutable.api.ImmutableMessage.Trifunction processType)
        Specified by:
        flatValueMap in interface io.floodplain.immutable.api.ImmutableMessage
      • values

        public java.util.Map<java.lang.String,​java.lang.Object> values()
        Specified by:
        values in interface io.floodplain.immutable.api.ImmutableMessage
      • toTypedDataMap

        public java.util.Map<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage.TypedData> toTypedDataMap()
        Specified by:
        toTypedDataMap in interface io.floodplain.immutable.api.ImmutableMessage