1 /*
2 * Copyright 2011 The Apache Software Foundation
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20 package org.apache.hadoop.hbase.regionserver;
21
22 import org.apache.hadoop.hbase.HConstants.OperationStatusCode;
23 /**
24 *
25 * This class stores the Operation status code and the exception message
26 * that occurs in case of failure of operations like put, delete, etc.
27 * This class is added with a purpose of adding more details or info regarding
28 * the operation status in future.
29 *
30 */
31 public class OperationStatus {
32
33 /** Singleton for successful operations. */
34 static final OperationStatus SUCCESS =
35 new OperationStatus(OperationStatusCode.SUCCESS);
36
37 /** Singleton for failed operations. */
38 static final OperationStatus FAILURE =
39 new OperationStatus(OperationStatusCode.FAILURE);
40
41 /** Singleton for operations not yet run. */
42 static final OperationStatus NOT_RUN =
43 new OperationStatus(OperationStatusCode.NOT_RUN);
44
45 private final OperationStatusCode code;
46
47 private final String exceptionMsg;
48
49 public OperationStatus(OperationStatusCode code) {
50 this(code, "");
51 }
52
53 public OperationStatus(OperationStatusCode code, String exceptionMsg) {
54 this.code = code;
55 this.exceptionMsg = exceptionMsg;
56 }
57
58
59 /**
60 * @return OperationStatusCode
61 */
62 public OperationStatusCode getOperationStatusCode() {
63 return code;
64 }
65
66 /**
67 * @return ExceptionMessge
68 */
69 public String getExceptionMsg() {
70 return exceptionMsg;
71 }
72
73 }