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
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
20 package org
.apache
.thrift
;
22 import java
.lang
.NoSuchMethodException
;
23 import java
.lang
.IllegalAccessException
;
24 import java
.lang
.reflect
.InvocationTargetException
;
25 import java
.lang
.reflect
.Method
;
28 * Utility class with static methods for interacting with TEnum
30 public class TEnumHelper
{
33 * Given a TEnum class and integer value, this method will return
34 * the associated constant from the given TEnum class.
35 * This method MUST be modified should the name of the 'findByValue' method
38 * @param enumClass TEnum from which to return a matching constant.
39 * @param value Value for which to return the constant.
41 * @return The constant in 'enumClass' whose value is 'value' or null if
42 * something went wrong.
44 public static TEnum
getByValue(Class
<?
extends TEnum
> enumClass
, int value
) {
46 Method method
= enumClass
.getMethod("findByValue", int.class);
47 return (TEnum
) method
.invoke(null, value
);
48 } catch (NoSuchMethodException nsme
) {
50 } catch (IllegalAccessException iae
) {
52 } catch (InvocationTargetException ite
) {