Class AbstractContainerDeserializer<T>

    • Constructor Detail

      • AbstractContainerDeserializer

        protected AbstractContainerDeserializer​(DeserializerBuilder builder)
        Create instance of current item with its builder.
        Parameters:
        builder - DeserializerBuilder used to build this instance
    • Method Detail

      • deserialize

        public final T deserialize​(javax.json.stream.JsonParser parser,
                                   javax.json.bind.serializer.DeserializationContext context,
                                   Type rtType)
        Drives JSONP JsonParser to deserialize json document.
        Specified by:
        deserialize in interface javax.json.bind.serializer.JsonbDeserializer<T>
        Parameters:
        parser - JSON parser.
        context - Deseriaization context.
        rtType - Runtime type.
        Returns:
        Instance of a type for this item.
      • getInstance

        protected abstract T getInstance​(Unmarshaller unmarshaller)
        Creates and initializes an instance of deserializing item.
        Parameters:
        unmarshaller - Current deserialization context.
        Returns:
        An instance of deserializing item.
      • deserializeNext

        protected abstract void deserializeNext​(javax.json.stream.JsonParser parser,
                                                Unmarshaller context)
        Determine class mappings and create an instance of a new deserializer. Currently processed deserializer is pushed to stack, for waiting till new object is finished.
        Parameters:
        parser - Json parser.
        context - Current unmarshalling context.
      • moveToFirst

        protected abstract JsonbRiParser.LevelContext moveToFirst​(JsonbParser parser)
        Move to first event for current deserializer structure.
        Parameters:
        parser - Json parser.
        Returns:
        First event.
      • newCollectionOrMapItem

        protected javax.json.bind.serializer.JsonbDeserializer<?> newCollectionOrMapItem​(Type valueType,
                                                                                         JsonbContext ctx)
      • convertNullToOptionalEmpty

        protected Object convertNullToOptionalEmpty​(Type propertyType,
                                                    Object value)
        If value is null and property model type is one of Optional, OptionalDouble, OptionalInt, or OptionalLong, value of corresponding Optional#empty() is returned.
        Parameters:
        propertyType - property type
        value - value to set
        Returns:
        empty optional if applies
      • appendResult

        public abstract void appendResult​(Object result)
        After object is transitively deserialized from JSON, "append" it to its wrapper. In case of a field set value to field, in case of collections or other embedded objects use methods provided.
        Parameters:
        result - An instance result of an item.