in common/src/main/java/org/mvndaemon/mvnd/common/Message.java [75:127]
public static Message read(DataInputStream input) throws IOException {
int type = input.read();
if (type < 0) {
return null;
}
switch (type) {
case BUILD_REQUEST:
return BuildRequest.read(input);
case BUILD_STARTED:
return BuildStarted.read(input);
case BUILD_FINISHED:
return BuildFinished.read(input);
case MOJO_STARTED:
return MojoStartedEvent.read(input);
case PROJECT_LOG_MESSAGE:
case DISPLAY:
return ProjectEvent.read(type, input);
case BUILD_EXCEPTION:
return BuildException.read(input);
case KEEP_ALIVE:
return BareMessage.KEEP_ALIVE_SINGLETON;
case STOP:
return BareMessage.STOP_SINGLETON;
case PROMPT:
return Prompt.read(input);
case PROMPT_RESPONSE:
return PromptResponse.read(input);
case PROJECT_STARTED:
case PROJECT_STOPPED:
case BUILD_STATUS:
case BUILD_LOG_MESSAGE:
return StringMessage.read(type, input);
case CANCEL_BUILD:
return BareMessage.CANCEL_BUILD_SINGLETON;
case TRANSFER_INITIATED:
case TRANSFER_STARTED:
case TRANSFER_PROGRESSED:
case TRANSFER_CORRUPTED:
case TRANSFER_SUCCEEDED:
case TRANSFER_FAILED:
return TransferEvent.read(type, input);
case EXECUTION_FAILURE:
return ExecutionFailureEvent.read(input);
case PRINT_OUT:
case PRINT_ERR:
return StringMessage.read(type, input);
case REQUEST_INPUT:
return RequestInput.read(input);
case INPUT_DATA:
return InputData.read(input);
}
throw new IllegalStateException("Unexpected message type: " + type);
}