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 com.google.protobuf.RpcCallback; 021import com.google.protobuf.RpcController; 022import org.apache.yetus.audience.InterfaceAudience; 023 024/** 025 * Client side rpc controller for coprocessor implementation. It is only used to pass error. 026 */ 027@InterfaceAudience.Private 028public class ClientCoprocessorRpcController implements RpcController { 029 030 private Throwable error; 031 032 @Override 033 public void reset() { 034 } 035 036 @Override 037 public boolean failed() { 038 return error != null; 039 } 040 041 @Override 042 public String errorText() { 043 return error != null ? error.getMessage() : null; 044 } 045 046 @Override 047 public void startCancel() { 048 throw new UnsupportedOperationException(); 049 } 050 051 @Override 052 public void setFailed(String reason) { 053 throw new UnsupportedOperationException(); 054 } 055 056 @Override 057 public boolean isCanceled() { 058 return false; 059 } 060 061 @Override 062 public void notifyOnCancel(RpcCallback<Object> callback) { 063 throw new UnsupportedOperationException(); 064 } 065 066 public void setFailed(Throwable error) { 067 this.error = error; 068 } 069 070 public Throwable getFailed() { 071 return error; 072 } 073}