Client API: How to Use Low-Level Commands

Low-level commands are the mechanism that Operations are built on top of.
When performing an operation, there is an underlying low-level command that is in charge of sending the appropriate request to the server (via the Request Executor) and parsing the server reply.

In order to use low-level commands directly, you will need to use the execute method of a Request Executor.

public <TResult> void execute(RavenCommand<TResult> command);

public <TResult> void execute(RavenCommand<TResult> command, SessionInfo sessionInfo);

Examples

GetDocumentsCommand

try (IDocumentSession session = store.openSession()) {
    GetDocumentsCommand command = new GetDocumentsCommand("orders/1-A", null, false);
    session.advanced().getRequestExecutor().execute(command);
    ObjectNode order = (ObjectNode) command.getResult().getResults().get(0);
}

DeleteDocumentCommand

try (IDocumentSession session = store.openSession()) {
    DeleteDocumentCommand command = new DeleteDocumentCommand("employees/1-A", null);
    session.advanced().getRequestExecutor().execute(command);
}

The Following Low-Level Commands are Available:

  • BatchCommand
  • CreateSubscriptionCommand
  • DeleteDocumentCommand
  • DeleteSubscriptionCommand
  • DropSubscriptionConnectionCommand
  • ExplainQueryCommand
  • GetConflictsCommand
  • GetDocumentsCommand
  • GetIdentitiesCommand
  • GetNextOperationIdCommand
  • GetOperationStateCommand
  • GetRevisionsBinEntryCommand
  • GetRevisionsCommand
  • GetSubscriptionsCommand
  • GetSubscriptionStateCommand
  • GetStatisticsCommand
  • HeadAttachmentCommand
  • HeadDocumentCommand
  • HiLoReturnCommand
  • KillOperationCommand
  • NextHiLoCommand
  • NextIdentityForCommand
  • PatchCommand
  • PutDocumentCommand
  • QueryCommand
  • QueryStreamCommand
  • SeedIdentityForCommand
  • StreamCommand