/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2007-2009 Sun Microsystems, Inc. * Portions copyright 2013 ForgeRock, AS. */ package org.opends.admin.ads; import java.util.HashSet; import java.util.Set; /** * The object of this class represent a Replica (i.e. a suffix in a given * server). */ public class ReplicaDescriptor { private SuffixDescriptor suffix; private int entries = -1; private ServerDescriptor server; private Set<String> replicationServers = new HashSet<String>(); private int replicationId = -1; private int missingChanges = -1; private long ageOfOldestMissingChange = -1; private String backendName; /** * Returns the number of entries contained in the replica. * @return the number of entries contained in the replica. */ public int getEntries() { return entries; } /** * Returns whether this replica is replicated or not. * @return <CODE>true</CODE> if the replica is replicated and * <CODE>false</CODE> otherwise. */ public boolean isReplicated() { return replicationId != -1; } /** * Returns whether replication is replicated on this server or not. * @return <CODE>true</CODE> if replication is enabled and * <CODE>false</CODE> otherwise. */ public boolean isReplicationEnabled() { return server.isReplicationEnabled(); } /** * Sets the number of entries contained in the replica. * @param entries the number of entries contained in the replica. */ public void setEntries(int entries) { this.entries = entries; } /** * Returns the ServerDescriptor object associated with the server where this * replica is located. * @return the ServerDescriptor object associated with the server where this * replica is located. */ public ServerDescriptor getServer() { return server; } /** * Sets the server where this replica is located. * @param server the ServerDescriptor object associated with the server where * this replica is located. */ public void setServer(ServerDescriptor server) { this.server = server; } /** * Returns the SuffixDescriptor object representing the suffix topology * across servers to which this replica belongs. * @return the SuffixDescriptor object representing the suffix topology * across servers to which this replica belongs. */ public SuffixDescriptor getSuffix() { return suffix; } /** * Sets the SuffixDescriptor object representing the suffix topology * across servers to which this replica belongs. * @param suffix the SuffixDescriptor object representing the suffix topology * across servers to which this replica belongs. */ public void setSuffix(SuffixDescriptor suffix) { this.suffix = suffix; } /** * Returns a set containing the String representation of the replication * servers that are defined in the replication domain for this replica. * @return a set containing the String representation of the replication * servers that are defined in the replication domain for this replica. */ public Set<String> getReplicationServers() { HashSet<String> copy = new HashSet<String>(); copy.addAll(replicationServers); return copy; } /** * Sets the list of replication servers (in their String representation) that * are defined in the replication domain for this replica. * @param replicationServers the list of replication servers (in their String * representation) that are defined in the replication domain for this * replica. */ public void setReplicationServers(Set<String> replicationServers) { this.replicationServers.clear(); this.replicationServers.addAll(replicationServers); } /** * Returns the replication id for the replication domain associated * with this replica. * @return the replication id for the replication domain associated * with this replica. */ public int getReplicationId() { return replicationId; } /** * Sets the replication id for the replication domain associated * with this replica. * @param replicationId the replication id for the replication domain * associated with this replica. */ public void setReplicationId(int replicationId) { this.replicationId = replicationId; } /** * Returns the age of the oldest missing change. * @return the age of the oldest missing change. */ public long getAgeOfOldestMissingChange() { return ageOfOldestMissingChange; } /** * Sets the age of the oldest missing change. * @param ageOfOldestMissingChange the age of the oldest missing change. */ public void setAgeOfOldestMissingChange(long ageOfOldestMissingChange) { this.ageOfOldestMissingChange = ageOfOldestMissingChange; } /** * Returns the number of missing changes. * @return the number of missing changes. */ public int getMissingChanges() { return missingChanges; } /** * Sets the number of missing changes. * @param missingChanges the number of missing changes. */ public void setMissingChanges(int missingChanges) { this.missingChanges = missingChanges; } /** * Returns the name of the backend where this replica is defined. * @return the name of the backend where this replica is defined. */ public String getBackendName() { return backendName; } /** * Sets the name of the backend where this replica is defined. * @param backendName the name of the backend. */ public void setBackendName(String backendName) { this.backendName = backendName; } }