Represents an abstract source from which a value may be deserialized (read).
Each of the read methods returns an instance of ValueRead which may contain either a successfully read
value or an error message.
An Input value should be assumed to be stateful. If any of the read methods have already been called AND
returned successful result ((ReadSuccessful), the Input instance can no longer be used and MUST be discarded.
On the other hand, when the read method returned a ReadFailed, its state should be unchanged and any read
method may be called again.
In order to ignore the value kept in this Input, skip() MUST be called.
In summary: every Input MUST be fully exhausted by either calling one of the read methods which returns
successful value or by calling skip(). Also, ListInput and ObjectInput instances returned from this
Input must also be fully exhausted on their own.
Represents an abstract source from which a value may be deserialized (read). Each of the
read
methods returns an instance of ValueRead which may contain either a successfully read value or an error message.An Input value should be assumed to be stateful. If any of the
read
methods have already been called AND returned successful result ((ReadSuccessful), the Input instance can no longer be used and MUST be discarded. On the other hand, when theread
method returned a ReadFailed, its state should be unchanged and anyread
method may be called again.In order to ignore the value kept in this Input,
skip()
MUST be called.In summary: every Input MUST be fully exhausted by either calling one of the
read
methods which returns successful value or by callingskip()
. Also, ListInput and ObjectInput instances returned from this Input must also be fully exhausted on their own.