View Javadoc

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  }