本文整理匯總了Java中org.apache.thrift.TEnum類的典型用法代碼示例。如果您正苦於以下問題:Java TEnum類的具體用法?Java TEnum怎麽用?Java TEnum使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
TEnum類屬於org.apache.thrift包,在下文中一共展示了TEnum類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: readI32
import org.apache.thrift.TEnum; //導入依賴的package包/類
@Override
public int readI32() throws TException {
Class<?> fieldClass = getCurrentFieldClassIfIs(TEnum.class);
if (fieldClass != null) {
// Enum fields may be set by string, even though they represent integers.
getCurrentContext().read();
JsonNode elem = getCurrentContext().getCurrentChild();
if (elem.isInt()) {
return TypedParser.INTEGER.readFromJsonElement(elem);
} else if (elem.isTextual()) {
// All TEnum are enums
@SuppressWarnings({ "unchecked", "rawtypes" })
TEnum tEnum = (TEnum) Enum.valueOf((Class<Enum>) fieldClass,
TypedParser.STRING.readFromJsonElement(elem));
return tEnum.getValue();
} else {
throw new TTransportException("invalid value type for enum field: " + elem.getNodeType() +
" (" + elem + ')');
}
} else {
return readNameOrValue(TypedParser.INTEGER);
}
}
示例2: EnumMetaData
import org.apache.thrift.TEnum; //導入依賴的package包/類
public EnumMetaData(byte type, Class<? extends TEnum> sClass){
super(type);
this.enumClass = sClass;
}
示例3: toThriftField
import org.apache.thrift.TEnum; //導入依賴的package包/類
private static ThriftField toThriftField(String name, Field field, ThriftField.Requirement requirement) {
ThriftType type;
switch (ThriftTypeID.fromByte(field.getType())) {
case STOP:
case VOID:
default:
throw new UnsupportedOperationException("can't convert type of " + field);
case BOOL:
type = new BoolType();
break;
case BYTE:
type = new ByteType();
break;
case DOUBLE:
type = new DoubleType();
break;
case I16:
type = new I16Type();
break;
case I32:
type = new I32Type();
break;
case I64:
type = new I64Type();
break;
case STRING:
StringType stringType = new StringType();
FieldMetaData fieldMetaData = field.getFieldMetaData();
// There is no real binary type (see THRIFT-1920) in Thrift,
// binary data is represented by String type with an additional binary flag.
if (fieldMetaData != null && fieldMetaData.valueMetaData.isBinary()) {
stringType.setBinary(true);
}
type = stringType;
break;
case STRUCT:
type = toStructType(field.gettStructDescriptor());
break;
case MAP:
final Field mapKeyField = field.getMapKeyField();
final Field mapValueField = field.getMapValueField();
type = new ThriftType.MapType(
toThriftField(mapKeyField.getName(), mapKeyField, requirement),
toThriftField(mapValueField.getName(), mapValueField, requirement));
break;
case SET:
final Field setElemField = field.getSetElemField();
type = new ThriftType.SetType(toThriftField(setElemField.getName(), setElemField, requirement));
break;
case LIST:
final Field listElemField = field.getListElemField();
type = new ThriftType.ListType(toThriftField(listElemField.getName(), listElemField, requirement));
break;
case ENUM:
Collection<TEnum> enumValues = field.getEnumValues();
List<EnumValue> values = new ArrayList<ThriftType.EnumValue>();
for (TEnum tEnum : enumValues) {
values.add(new EnumValue(tEnum.getValue(), tEnum.toString()));
}
type = new EnumType(values);
break;
}
return new ThriftField(name, field.getId(), requirement, type);
}