blob: 2290681d0722c11ba0b9d9083e6da19696229e97 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2017 Kichwa Coders Ltd. and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
******************************************************************************/
package org.eclipse.lsp4j.jsonrpc.debug;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import org.eclipse.lsp4j.jsonrpc.Endpoint;
import org.eclipse.lsp4j.jsonrpc.MessageConsumer;
import org.eclipse.lsp4j.jsonrpc.RemoteEndpoint;
import org.eclipse.lsp4j.jsonrpc.debug.messages.DebugNotificationMessage;
import org.eclipse.lsp4j.jsonrpc.debug.messages.DebugRequestMessage;
import org.eclipse.lsp4j.jsonrpc.debug.messages.DebugResponseMessage;
import org.eclipse.lsp4j.jsonrpc.messages.RequestMessage;
import org.eclipse.lsp4j.jsonrpc.messages.ResponseError;
public class DebugRemoteEndpoint extends RemoteEndpoint {
private final AtomicInteger nextSeqId = new AtomicInteger();
public DebugRemoteEndpoint(MessageConsumer out, Endpoint localEndpoint) {
super(out, localEndpoint);
}
public DebugRemoteEndpoint(MessageConsumer out, Endpoint localEndpoint,
Function<Throwable, ResponseError> exceptionHandler) {
super(out, localEndpoint, exceptionHandler);
}
@Override
protected DebugRequestMessage createRequestMessage(String method, Object parameter) {
DebugRequestMessage requestMessage = new DebugRequestMessage();
requestMessage.setId(nextSeqId.incrementAndGet());
requestMessage.setMethod(method);
requestMessage.setParams(parameter);
return requestMessage;
}
@Override
protected DebugResponseMessage createResponseMessage(RequestMessage requestMessage) {
DebugResponseMessage responseMessage = new DebugResponseMessage();
responseMessage.setResponseId(nextSeqId.incrementAndGet());
responseMessage.setRawId(requestMessage.getRawId());
responseMessage.setMethod(requestMessage.getMethod());
return responseMessage;
}
@Override
protected DebugNotificationMessage createNotificationMessage(String method, Object parameter) {
DebugNotificationMessage notificationMessage = new DebugNotificationMessage();
notificationMessage.setId(nextSeqId.incrementAndGet());
notificationMessage.setMethod(method);
notificationMessage.setParams(parameter);
return notificationMessage;
}
}