Package 

Class JsonParameterSerializer

  • All Implemented Interfaces:
    com.shalan.analytics.core.ParameterSerializer

    
    public final class JsonParameterSerializer
     implements ParameterSerializer
                        

    Parameter serializer that converts complex objects to JSON format using kotlinx.serialization. This serializer handles various object types by converting them to JSON strings suitable for analytics.

    It can handle:

    • @Serializable data classes and objects (using kotlinx.serialization)

    • Collections (Lists, Sets)

    • Maps

    • Arrays

    • Complex nested objects

    • Regular classes (fallback to toString() representation)

    • Method Summary

      Modifier and Type Method Description
      Boolean canSerialize(Class<?> parameterType) Determines if this serializer can handle the given parameter type.
      Object serialize(Object value, Class<?> parameterType) Serializes a parameter value to an analytics-compatible format.
      Integer getPriority() Gets the priority of this serializer.
      • Methods inherited from class java.lang.Object

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

      • JsonParameterSerializer

        JsonParameterSerializer()
    • Method Detail

      • canSerialize

         Boolean canSerialize(Class<?> parameterType)

        Determines if this serializer can handle the given parameter type.

        Parameters:
        parameterType - The class type of the parameter to serialize
      • serialize

         Object serialize(Object value, Class<?> parameterType)

        Serializes a parameter value to an analytics-compatible format.

        Parameters:
        value - The parameter value to serialize
        parameterType - The class type of the parameter
      • getPriority

         Integer getPriority()

        Gets the priority of this serializer. Higher priority serializers are checked first when determining which serializer to use.