Skip navigation links
io.mats3.serial.json

Class MatsSerializerJson

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.mats3.serial.MatsSerializer

        io.mats3.serial.MatsSerializer.DeserializedMatsTrace<Z>, io.mats3.serial.MatsSerializer.SerializationException, io.mats3.serial.MatsSerializer.SerializedMatsTrace
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int DEFAULT_COMPRESSION_LEVEL
      The default compression level - which I chose to be Deflater.BEST_SPEED (compression level 1), since I assume that the rather small incremental reduction in size does not outweigh the pretty large increase in time, as one hopefully runs on a pretty fast network (and that the MQ backing store is fast).
      static java.lang.String IDENTIFICATION 
      • Fields inherited from interface io.mats3.serial.MatsSerializer

        META_KEY_POSTFIX
    • Constructor Summary

      Constructors 
      Modifier Constructor and Description
      protected MatsSerializerJson(int compressionLevel)
      Constructs a MatsSerializer, using the specified Compression Level - refer to Deflater's constants and levels.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected byte[] compress(byte[] data) 
      static MatsSerializerJson create()
      Constructs a MatsSerializer, using the DEFAULT_COMPRESSION_LEVEL (which is Deflater.BEST_SPEED, which is 1).
      static MatsSerializerJson create(int compressionLevel)
      Constructs a MatsSerializer, using the specified Compression Level - refer to Deflater's constants and levels.
      io.mats3.serial.MatsTrace<java.lang.String> createNewMatsTrace(java.lang.String traceId, java.lang.String flowId, io.mats3.serial.MatsTrace.KeepMatsTrace keepMatsTrace, boolean nonPersistent, boolean interactive, long ttlMillis, boolean noAudit) 
      protected byte[] decompress(byte[] data, int offset, int length, int bestGuessDecompressedSize) 
      io.mats3.serial.MatsSerializer.DeserializedMatsTrace<java.lang.String> deserializeMatsTrace(byte[] matsTraceBytes, int offset, int length, java.lang.String meta) 
      io.mats3.serial.MatsSerializer.DeserializedMatsTrace<java.lang.String> deserializeMatsTrace(byte[] matsTraceBytes, java.lang.String meta) 
      <T> T deserializeObject(java.lang.String serialized, java.lang.Class<T> type) 
      boolean handlesMeta(java.lang.String meta) 
      <T> T newInstance(java.lang.Class<T> clazz) 
      io.mats3.serial.MatsSerializer.SerializedMatsTrace serializeMatsTrace(io.mats3.serial.MatsTrace<java.lang.String> matsTrace) 
      java.lang.String serializeObject(java.lang.Object object) 
      int sizeOfSerialized(java.lang.String s) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • IDENTIFICATION

        public static java.lang.String IDENTIFICATION
      • DEFAULT_COMPRESSION_LEVEL

        public static int DEFAULT_COMPRESSION_LEVEL
        The default compression level - which I chose to be Deflater.BEST_SPEED (compression level 1), since I assume that the rather small incremental reduction in size does not outweigh the pretty large increase in time, as one hopefully runs on a pretty fast network (and that the MQ backing store is fast).
    • Constructor Detail

      • MatsSerializerJson

        protected MatsSerializerJson(int compressionLevel)
        Constructs a MatsSerializer, using the specified Compression Level - refer to Deflater's constants and levels.
        Parameters:
        compressionLevel - the compression level given to Deflater to use.
    • Method Detail

      • create

        public static MatsSerializerJson create(int compressionLevel)
        Constructs a MatsSerializer, using the specified Compression Level - refer to Deflater's constants and levels.
        Parameters:
        compressionLevel - the compression level given to Deflater to use.
      • handlesMeta

        public boolean handlesMeta(java.lang.String meta)
        Specified by:
        handlesMeta in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • createNewMatsTrace

        public io.mats3.serial.MatsTrace<java.lang.String> createNewMatsTrace(java.lang.String traceId,
                                                                              java.lang.String flowId,
                                                                              io.mats3.serial.MatsTrace.KeepMatsTrace keepMatsTrace,
                                                                              boolean nonPersistent,
                                                                              boolean interactive,
                                                                              long ttlMillis,
                                                                              boolean noAudit)
        Specified by:
        createNewMatsTrace in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • serializeMatsTrace

        public io.mats3.serial.MatsSerializer.SerializedMatsTrace serializeMatsTrace(io.mats3.serial.MatsTrace<java.lang.String> matsTrace)
        Specified by:
        serializeMatsTrace in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • deserializeMatsTrace

        public io.mats3.serial.MatsSerializer.DeserializedMatsTrace<java.lang.String> deserializeMatsTrace(byte[] matsTraceBytes,
                                                                                                           java.lang.String meta)
        Specified by:
        deserializeMatsTrace in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • deserializeMatsTrace

        public io.mats3.serial.MatsSerializer.DeserializedMatsTrace<java.lang.String> deserializeMatsTrace(byte[] matsTraceBytes,
                                                                                                           int offset,
                                                                                                           int length,
                                                                                                           java.lang.String meta)
        Specified by:
        deserializeMatsTrace in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • serializeObject

        public java.lang.String serializeObject(java.lang.Object object)
        Specified by:
        serializeObject in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • sizeOfSerialized

        public int sizeOfSerialized(java.lang.String s)
        Specified by:
        sizeOfSerialized in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • deserializeObject

        public <T> T deserializeObject(java.lang.String serialized,
                                       java.lang.Class<T> type)
        Specified by:
        deserializeObject in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • newInstance

        public <T> T newInstance(java.lang.Class<T> clazz)
        Specified by:
        newInstance in interface io.mats3.serial.MatsSerializer<java.lang.String>
      • compress

        protected byte[] compress(byte[] data)
      • decompress

        protected byte[] decompress(byte[] data,
                                    int offset,
                                    int length,
                                    int bestGuessDecompressedSize)