/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2011, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ package com.sleepycat.db; import com.sleepycat.db.internal.DbConstants; /** Describes the connection status of a replication site. Returned from the {@link ReplicationManagerSiteInfo#getConnectionStatus} method. */ public final class ReplicationManagerConnectionStatus implements Cloneable { /** * The site is connected. */ public static final ReplicationManagerConnectionStatus CONNECTED = new ReplicationManagerConnectionStatus("CONNECTED", DbConstants.DB_REPMGR_CONNECTED); /** * The site is disconnected. */ public static final ReplicationManagerConnectionStatus DISCONNECTED = new ReplicationManagerConnectionStatus("DISCONNECTED", DbConstants.DB_REPMGR_DISCONNECTED); /** * The connection status cannot be determined. */ public static final ReplicationManagerConnectionStatus UNKNOWN = new ReplicationManagerConnectionStatus("UNKNOWN", 0); /* package */ static ReplicationManagerConnectionStatus fromInt(int which) { switch(which) { case DbConstants.DB_REPMGR_CONNECTED: return CONNECTED; case DbConstants.DB_REPMGR_DISCONNECTED: return DISCONNECTED; case 0: return UNKNOWN; default: throw new IllegalArgumentException("Unknown connection status: " + which); } } private String configName; private int status; private ReplicationManagerConnectionStatus(final String configName, final int status) { this.configName = configName; this.status = status; } /* package */ int getStatus() { return status; } /** {@inheritDoc} */ public String toString() { return "ReplicationManagerConnectionStatus." + configName; } }