public DirectBuffer getVariablesLocalAsDocument(long scopeKey) { writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); variableCount = 0; visitVariablesLocal( scopeKey, name -> true, (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variableCount += 1; }, () -> false); writer.writeReservedMapHeader(0, variableCount); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesLocalAsDocument(long scopeKey) { writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); variableCount = 0; visitVariablesLocal( scopeKey, name -> true, (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variableCount += 1; }, () -> false); writer.writeReservedMapHeader(0, variableCount); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey, Collection<DirectBuffer> names) { variablesToCollect.clear(); variablesToCollect.addAll(names); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> variablesToCollect.contains(name.getBuffer()), (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variablesToCollect.remove(name.getBuffer()); }, () -> variablesToCollect.isEmpty()); writer.writeReservedMapHeader(0, names.size() - variablesToCollect.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey, Collection<DirectBuffer> names) { variablesToCollect.clear(); variablesToCollect.addAll(names); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> variablesToCollect.contains(name.getBuffer()), (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variablesToCollect.remove(name.getBuffer()); }, () -> variablesToCollect.isEmpty()); writer.writeReservedMapHeader(0, names.size() - variablesToCollect.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey) { collectedVariables.clear(); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> !collectedVariables.contains(name.getBuffer()), (name, value) -> { final DirectBuffer variableNameBuffer = name.getBuffer(); writer.writeString(variableNameBuffer); writer.writeRaw(value.getValue()); // must create a new name wrapper, because we keep them all in the hashset at the same // time final MutableDirectBuffer nameView = new UnsafeBuffer(variableNameBuffer); collectedVariables.add(nameView); }, () -> false); writer.writeReservedMapHeader(0, collectedVariables.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey) { collectedVariables.clear(); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> !collectedVariables.contains(name.getBuffer()), (name, value) -> { final DirectBuffer variableNameBuffer = name.getBuffer(); writer.writeString(variableNameBuffer); writer.writeRaw(value.getValue()); // must create a new name wrapper, because we keep them all in the hashset at the same // time final MutableDirectBuffer nameView = new UnsafeBuffer(variableNameBuffer); collectedVariables.add(nameView); }, () -> false); writer.writeReservedMapHeader(0, collectedVariables.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }