Class JsonCodec

  • All Implemented Interfaces:
    Serializable

    public class JsonCodec
    extends Object
    implements Serializable
    Decoder for converting RPC parameters and other values from JSON in transfer between the client and the server and vice versa.
    Since:
    7.0
    See Also:
    Serialized Form
    • Constructor Detail

      • JsonCodec

        public JsonCodec()
    • Method Detail

      • isInternalTransportType

        public static boolean isInternalTransportType​(String transportType)
      • isInternalType

        public static boolean isInternalType​(Type type)
      • decodeInternalType

        public static Object decodeInternalType​(Type targetType,
                                                boolean restrictToInternalTypes,
                                                JsonValue encodedJsonValue,
                                                ConnectorTracker connectorTracker)
        Decodes a value that is of an internal type.

        Ensures the encoded value is of the same type as target type.

        Allows restricting collections so that they must be declared using generics. If this is used then all objects in the collection are encoded using the declared type. Otherwise only internal types are allowed in collections.

        Parameters:
        targetType - The type that should be returned by this method
        valueAndType - The encoded value and type array
        application - A reference to the application
        enforceGenericsInCollections - true if generics should be enforce, false to only allow internal types in collections
        Returns:
      • jsonEquals

        public static boolean jsonEquals​(JsonValue a,
                                         JsonValue b)
        Compares two json values for deep equality. This is a helper for overcoming the fact that JsonValue#equals(Object) only does an identity check and JsonValue.jsEquals(JsonValue) is defined to use JavaScript semantics where arrays and objects are equals only based on identity.
        Parameters:
        a - the first json value to check, may not be null
        b - the second json value to check, may not be null
        Returns:
        true if both json values are the same; false otherwise
        Since:
        7.4