/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.connection.api; /** * Indicates the state of a {@link ConnectionSetup}. * * @author Robert Mischke */ public enum ConnectionSetupState { /** * The is connecting to a remote contact point. */ CONNECTING("connecting...", false, true), /** * The connection setup has an associated ready-to-use message channel. */ CONNECTED("connected", false, true), /** * A disconnect has been triggered; see {@link DisconnectReason} for information about the cause. */ DISCONNECTING("disconnecting...", false, false), /** * The channel has been closed/terminated; also the initial state of a {@link ConnectionSetup}. See {@link DisconnectReason} for * information about the cause. */ DISCONNECTED("disconnected", true, false), /** * A connection attempt failed, the setup is configured to retry automatically, but the delay until the next attempt is not over yet. */ WAITING_TO_RECONNECT("connection failed, waiting to reconnect...", true, true); private final String displayText; private final boolean reasonableToAllowStart; private final boolean reasonableToAllowStop; ConnectionSetupState(String displayText, boolean reasonableToStart, boolean reasonableToStop) { this.displayText = displayText; this.reasonableToAllowStart = reasonableToStart; this.reasonableToAllowStop = reasonableToStop; } public String getDisplayText() { return displayText; } public boolean isReasonableToAllowStart() { return reasonableToAllowStart; } public boolean isReasonableToAllowStop() { return reasonableToAllowStop; } }