/*- * See the file LICENSE for redistribution information. * * Copyright (c) 1997, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ package com.sleepycat.db; import com.sleepycat.db.internal.DbConstants; /** A simple wrapper class to hold information needed to define a replication site. <p> ReplicationManagerSiteInfo objects are returned by {@link com.sleepycat.db.Environment#getReplicationManagerSiteList Environment.getReplicationManagerSiteList} */ public class ReplicationManagerSiteInfo { /** The replication site's address */ public ReplicationHostAddress addr; /** The replication site's identifier */ public int eid; private int flags; private int status; /** Create a ReplicationManagerSiteInfo with the given information, isConnected defaults to false. */ public ReplicationManagerSiteInfo(ReplicationHostAddress hostAddr, int eid) { this(hostAddr, eid, false, false, false); } /** Create a ReplicationManagerSiteInfo with the given information. */ public ReplicationManagerSiteInfo(ReplicationHostAddress hostAddr, int eid, boolean isConnected) { this(hostAddr, eid, isConnected, false, false); } /** Create a ReplicationManagerSiteInfo with the given information. */ public ReplicationManagerSiteInfo(ReplicationHostAddress hostAddr, int eid, boolean isConnected, boolean isPeer, boolean isView) { this.addr = hostAddr; this.eid = eid; this.status = isConnected ? DbConstants.DB_REPMGR_CONNECTED : 0; this.flags = isPeer ? DbConstants.DB_REPMGR_ISPEER : 0; this.flags |= isView ? DbConstants.DB_REPMGR_ISVIEW : 0; } /** * The status of the replication site's connection. * */ public ReplicationManagerConnectionStatus getConnectionStatus() { return ReplicationManagerConnectionStatus.fromInt(this.status); } /** * The replication site is connected. * * @deprecated Replaced by {@link #getConnectionStatus()} */ @Deprecated public boolean isConnected() { return (this.status == DbConstants.DB_REPMGR_CONNECTED); } /** The replication site is a peer. */ public boolean isPeer() { return ((this.flags & DbConstants.DB_REPMGR_ISPEER) != 0); } /** The replication site is a view. */ public boolean isView() { return ((this.flags & DbConstants.DB_REPMGR_ISVIEW) != 0); } }