Class AbstractKnxAddressJsonDeserializer<T extends li.pitschmann.knx.core.address.KnxAddress>

  • All Implemented Interfaces:
    com.google.gson.JsonDeserializer<T>
    Direct Known Subclasses:
    GroupAddressJsonDeserializer, IndividualAddressJsonDeserializer

    public abstract class AbstractKnxAddressJsonDeserializer<T extends li.pitschmann.knx.core.address.KnxAddress>
    extends Object
    implements com.google.gson.JsonDeserializer<T>
    De-Serializes a JSON format of knx address to an instance of KnxAddress {"type":1,"address":[0,22]}
    • Constructor Detail

      • AbstractKnxAddressJsonDeserializer

        public AbstractKnxAddressJsonDeserializer()
    • Method Detail

      • deserialize

        public T deserialize​(com.google.gson.JsonElement jsonElement,
                             Type type,
                             com.google.gson.JsonDeserializationContext jsonDeserializationContext)
        Specified by:
        deserialize in interface com.google.gson.JsonDeserializer<T extends li.pitschmann.knx.core.address.KnxAddress>
      • supportedAddressType

        protected abstract li.pitschmann.knx.core.address.AddressType supportedAddressType()
        Returns the AddressType that is supported for this de-serialization
        Returns:
        an instance of AddressType
      • convert

        protected abstract T convert​(byte[] address)
        Creates a new instance of KnxAddress from given address byte array
        Parameters:
        address - byte array to be converted to KnxAddress
        Returns:
        an instance of KnxAddress (Individual or Group Address)
      • convert

        protected abstract T convert​(String address)
        Creates a new instance of KnxAddress from given String
        Parameters:
        address - address to be converted to KnxAddress
        Returns:
        address instance of KnxAddress (Individual or Group Address)