1 /** 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 package org.apache.hadoop.hbase.replication; 19 20 import java.util.List; 21 import java.util.Map; 22 23 import org.apache.hadoop.hbase.classification.InterfaceAudience; 24 import org.apache.hadoop.conf.Configuration; 25 import org.apache.hadoop.hbase.HBaseInterfaceAudience; 26 27 /** 28 * ReplicationPeer manages enabled / disabled state for the peer. 29 */ 30 @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION) 31 public interface ReplicationPeer { 32 33 /** 34 * State of the peer, whether it is enabled or not 35 */ 36 @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION) 37 enum PeerState { 38 ENABLED, DISABLED 39 } 40 41 /** 42 * Get the identifier of this peer 43 * 44 * @return string representation of the id 45 */ 46 String getId(); 47 48 /** 49 * Get the peer config object 50 * 51 * @return the ReplicationPeerConfig for this peer 52 */ 53 public ReplicationPeerConfig getPeerConfig(); 54 55 /** 56 * Returns the state of the peer 57 * 58 * @return the enabled state 59 */ 60 PeerState getPeerState(); 61 62 /** 63 * Get the configuration object required to communicate with this peer 64 * 65 * @return configuration object 66 */ 67 public Configuration getConfiguration(); 68 69 /** 70 * Get replicable (table, cf-list) map of this peer 71 * 72 * @return the replicable (table, cf-list) map 73 */ 74 public Map<String, List<String>> getTableCFs(); 75 }