001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.apache.hadoop.hbase.client; 019 020import org.apache.yetus.audience.InterfaceAudience; 021 022import org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback; 023import org.apache.hbase.thirdparty.com.google.protobuf.RpcController; 024 025/** 026 * Client side rpc controller for coprocessor implementation. It is only used to pass error. 027 */ 028@InterfaceAudience.Private 029public class ClientCoprocessorRpcController implements RpcController { 030 031 private Throwable error; 032 033 @Override 034 public void reset() { 035 } 036 037 @Override 038 public boolean failed() { 039 return error != null; 040 } 041 042 @Override 043 public String errorText() { 044 return error != null ? error.getMessage() : null; 045 } 046 047 @Override 048 public void startCancel() { 049 throw new UnsupportedOperationException(); 050 } 051 052 @Override 053 public void setFailed(String reason) { 054 throw new UnsupportedOperationException(); 055 } 056 057 @Override 058 public boolean isCanceled() { 059 return false; 060 } 061 062 @Override 063 public void notifyOnCancel(RpcCallback<Object> callback) { 064 throw new UnsupportedOperationException(); 065 } 066 067 public void setFailed(Throwable error) { 068 this.error = error; 069 } 070 071 public Throwable getFailed() { 072 return error; 073 } 074}