package com.workshare.msnos.integration; import com.workshare.msnos.core.payloads.GenericPayload; import com.workshare.msnos.core.payloads.PayloadAdapter; import com.workshare.msnos.soup.json.Json; import java.util.UUID; public interface IntegrationActor { public static final UUID MASTER_CLOUD_UUID = new UUID(0, 987); public static final UUID GENERIC_CLOUD_UUID = new UUID(987, 987); public static final UUID SECURE_CLOUD_UUID = new UUID(987, 345); public static class CommandPayload extends PayloadAdapter { public enum Command { INIT, AGENT_JOIN, AGENT_LEAVE, SELF_KILL, TERM, } private final Command command; private CommandPayload(Command command) { super(); this.command = command; } public Command getCommand() { return command; } public static CommandPayload create(Command command) { return new CommandPayload(command); } public static CommandPayload create(GenericPayload payload) { return Json.fromJsonTree(payload.getData(), CommandPayload.class); } } }