Newer
Older
KeeperJerry_Launcher / LaunchServer / source / response / Response.java
package launchserver.response;

import java.io.IOException;

import launcher.LauncherAPI;
import launcher.serialize.HInput;
import launcher.serialize.HOutput;
import launchserver.LaunchServer;

public abstract class Response {
	@LauncherAPI protected final LaunchServer server;
	@LauncherAPI protected final HInput input;
	@LauncherAPI protected final HOutput output;

	@LauncherAPI
	protected Response(LaunchServer server, HInput input, HOutput output) {
		this.server = server;
		this.input = input;
		this.output = output;
	}

	@LauncherAPI
	public abstract void reply() throws Exception;

	@LauncherAPI
	protected final void writeNoError(HOutput output) throws IOException {
		output.writeString("", 0);
	}

	@FunctionalInterface
	public interface Factory {
		@LauncherAPI
		Response newResponse(LaunchServer server, HInput input, HOutput output);
	}
}