Parser Deserializer

Defined in package com.scandit.datacapture.parser.serialization

Warning

The deserialization API is not yet stable and will still change over the coming releases.

Note

This deserializer is not thread-safe, subsequent calls for the same parser have to be called on the same thread.

ParserDeserializer
class ParserDeserializer : DataCaptureComponentDeserializer

Added in version 6.3.0

A deserializer to construct a parser from JSON. For most use cases it is enough to use Parser.fromJson() which internally uses this deserializer. Using the deserializer gives the advantage of being able to listen to the deserialization events as they happen and potentially influence them. Additionally warnings can be read from the deserializer that would otherwise not be available.

ParserDeserializer()
ParserDeserializer()

Added in version 6.3.0

Creates a new deserializer object.

listener
@NonNull ParserDeserializerListener getListener()
void setListener(@NonNull ParserDeserializerListener value)

Added in version 6.3.0

The object informed about deserialization events.

warnings
@NonNull List<@NonNull String> getWarnings()

Added in version 6.3.0

The warnings produced during deserialization, for example which properties were not used during deserialization.

parserFromJson(dataCaptureContext, jsonData)
@NonNull Parser parserFromJson(DataCaptureContext dataCaptureContext,
        @NonNull String jsonData)

Added in version 6.3.0

Deserializes a parser from JSON.

An exception is thrown if the provided JSON does not contain required properties or contains properties of the wrong type.

updateParserFromJson(parser, jsonData)
@NonNull Parser updateParserFromJson(@NonNull Parser parser,
        @NonNull String jsonData)

Added in version 6.3.0

Takes an existing parser and updates it by deserializing new or changed properties from JSON.

An exception is thrown if the provided JSON does not contain required properties or contains properties of the wrong type.