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 
19 package org.apache.hive.service.cli;
20 
21 import org.apache.hive.service.cli.thrift.TFetchOrientation;
22 
23 /**
24  * FetchOrientation.
25  *
26  */
27 public enum FetchOrientation {
28   FETCH_NEXT(TFetchOrientation.FETCH_NEXT),
29   FETCH_PRIOR(TFetchOrientation.FETCH_PRIOR),
30   FETCH_RELATIVE(TFetchOrientation.FETCH_RELATIVE),
31   FETCH_ABSOLUTE(TFetchOrientation.FETCH_ABSOLUTE),
32   FETCH_FIRST(TFetchOrientation.FETCH_FIRST),
33   FETCH_LAST(TFetchOrientation.FETCH_LAST);
34 
35   private TFetchOrientation tFetchOrientation;
36 
FetchOrientation(TFetchOrientation tFetchOrientation)37   FetchOrientation(TFetchOrientation tFetchOrientation) {
38     this.tFetchOrientation = tFetchOrientation;
39   }
40 
getFetchOrientation(TFetchOrientation tFetchOrientation)41   public static FetchOrientation getFetchOrientation(TFetchOrientation tFetchOrientation) {
42     for (FetchOrientation fetchOrientation : values()) {
43       if (tFetchOrientation.equals(fetchOrientation.toTFetchOrientation())) {
44         return fetchOrientation;
45       }
46     }
47     // TODO: Should this really default to FETCH_NEXT?
48     return FETCH_NEXT;
49   }
50 
toTFetchOrientation()51   public TFetchOrientation toTFetchOrientation() {
52     return tFetchOrientation;
53   }
54 }
55