public class IVSolutionSetDecoder extends Object implements IBindingSetDecoder
IVSolutionSetEncoder
.Constructor and Description |
---|
IVSolutionSetDecoder() |
Modifier and Type | Method and Description |
---|---|
IBindingSet |
decodeSolution(byte[] data,
int off,
int len,
boolean resolveCachedValues)
Decode an
IBindingSet . |
IBindingSet |
decodeSolution(DataInputBuffer in,
boolean resolveCachedValues)
Stream oriented decode.
|
boolean |
isValueCache()
Return
true iff the IVCache associations are
preserved by the encoder. |
void |
release()
Release the state associated with the
IVBindingSetDecoder . |
void |
resolveCachedValues(IBindingSet bset)
Resolve any
IV s in the solution for which there are cached
BigdataValue s to those values. |
String |
toString() |
public IBindingSet decodeSolution(byte[] data, int off, int len, boolean resolveCachedValues)
IBindingSet
.
The resolution step can be deferred when the decoded IBindingSet
does not require the resolved IVCache
associations. For example,
we do not need the IVCache
association in order to decide if two
IBindingSet
s can join. However, once we have a solution from a
join, we may need to resolve the IVCache
metadata for the joined
solution.
Note: Solutions MUST be decoded in the encode order because the schema (the set of variables for which bindings have been observed) is assembled incrementally from the decoded solutions and the encoding is sensitive to the order in which the variables are first observed. Also, the presence of the version field in the first solution makes it impossible to re-process a stream of solutions with the same decoder.
decodeSolution
in interface IBindingSetDecoder
data
- The encoded IV[].off
- The starting offset.len
- The #of bytes of data to be decoded.resolveCachedValues
- When true
, any decoded IV
s will have
their IVCache
association resolved before the
IBindingSet
is returned to the caller. When
false
, the resolution step is not performed.IBindingSet
.IBindingSetDecoder.resolveCachedValues(IBindingSet)
public IBindingSet decodeSolution(DataInputBuffer in, boolean resolveCachedValues)
in
- The source data.resolveCachedValues
- true
if IVCache
associations should be
resolved as the solutions are decoded.public void resolveCachedValues(IBindingSet bset)
IBindingSetDecoder
IV
s in the solution for which there are cached
BigdataValue
s to those values. This method may be used to resolve
IVCache
associations for IBindingSet
s NOT produced by
IBindingSetDecoder.decodeSolution(byte[], int, int, boolean)
. For example, when
joining a decoded solution with another solution, the resolution step may
be deferred until we know whether or not the join was successful.resolveCachedValues
in interface IBindingSetDecoder
bset
- A solution having IV
s which need to be reunited with
their cached BigdataValue
s.public void release()
IBindingSetDecoder
IVBindingSetDecoder
.release
in interface IBindingSetDecoder
public boolean isValueCache()
isValueCache
in interface IBindingSetDecoder
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.