Java tutorial
/* * Copyright 2013-2017 consulo.io * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package consulo.google.go.run.dlv.api; import com.google.gson.JsonObject; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import org.jetbrains.jsonProtocol.Request; import java.nio.charset.StandardCharsets; /** * @author VISTALL * @since 10-May-17 */ public class SimpleInOutMessage<In, Out> implements Request<Out> { private final String myName; private final JsonObject myObject; public SimpleInOutMessage(String name, JsonObject object) { myName = name; myObject = object; } @Override public ByteBuf getBuffer() { ByteBuf buffer = ByteBufAllocator.DEFAULT.heapBuffer(); String json = DlvRequest.ourGson.toJson(myObject); buffer.writeCharSequence(json, StandardCharsets.UTF_8); return buffer; } @Override public String getMethodName() { return myName; } @Override public void finalize(int id) { myObject.addProperty("id", id); } }