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 import org.apache.hadoop.hbase.TableName; 27 28 /** 29 * ReplicationPeer manages enabled / disabled state for the peer. 30 */ 31 @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION) 32 public interface ReplicationPeer { 33 34 /** 35 * State of the peer, whether it is enabled or not 36 */ 37 @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION) 38 enum PeerState { 39 ENABLED, 40 DISABLED 41 } 42 43 /** 44 * Get the identifier of this peer 45 * @return string representation of the id 46 */ 47 String getId(); 48 49 /** 50 * Get the peer config object 51 * @return the ReplicationPeerConfig for this peer 52 */ 53 public ReplicationPeerConfig getPeerConfig(); 54 55 /** 56 * Returns the state of the peer 57 * @return the enabled state 58 */ 59 PeerState getPeerState(); 60 61 /** 62 * Get the configuration object required to communicate with this peer 63 * @return configuration object 64 */ 65 public Configuration getConfiguration(); 66 67 /** 68 * Get replicable (table, cf-list) map of this peer 69 * @return the replicable (table, cf-list) map 70 */ 71 public Map<TableName, List<String>> getTableCFs(); 72 73 }