blob: 2a4cafdef23c245d1f5606de1a8439228f354e01 [file] [log] [blame]
package org.jetbrains.jsonProtocol;
import java.io.IOException;
public abstract class RequestImpl extends OutMessage implements Request {
protected boolean argumentsObjectStarted;
protected abstract String getIdKeyName();
protected abstract String argumentsKeyName();
@Override
protected final void beginArguments() throws IOException {
if (!argumentsObjectStarted) {
argumentsObjectStarted = true;
writer.name(argumentsKeyName());
writer.beginObject();
}
}
@Override
public final void finalize(int id) {
try {
if (argumentsObjectStarted) {
writer.endObject();
}
writer.name(getIdKeyName()).value(id);
writer.endObject();
writer.close();
}
catch (IOException e) {
throw new RuntimeException(e);
}
}
}