defaultValue = enumType.findValueByName(proto.getDefaultValue()); if (defaultValue == null) { throw new DescriptorValidationException(this,
defaultValue = enumType.findValueByName(proto.getDefaultValue()); if (defaultValue == null) { throw new DescriptorValidationException(this,
value = enumType.findValueByName(id); if (value == null) { throw tokenizer.parseExceptionPreviousToken(
private EnumValueDescriptor parseEnum(EnumDescriptor enumDescriptor, JsonElement json) throws InvalidProtocolBufferException { String value = json.getAsString(); EnumValueDescriptor result = enumDescriptor.findValueByName(value); if (result == null) { // Try to interpret the value as a number. try { int numericValue = parseInt32(json); if (enumDescriptor.getFile().getSyntax() == FileDescriptor.Syntax.PROTO3) { result = enumDescriptor.findValueByNumberCreatingIfUnknown(numericValue); } else { result = enumDescriptor.findValueByNumber(numericValue); } } catch (InvalidProtocolBufferException e) { // Fall through. This exception is about invalid int32 value we get from parseInt32() but // that's not the exception we want the user to see. Since result == null, we will throw // an exception later. } if (result == null) { throw new InvalidProtocolBufferException( "Invalid enum value: " + value + " for enum type: " + enumDescriptor.getFullName()); } } return result; }
/** * Parse Enum value {@link EnumValueDescriptor} associated with given {@link EnumDescriptor} from * given text if found. Otherwise, throw a {@link ParseException}. * * <p>The text could be either enum value name or enum value number. */ static EnumValueDescriptor parseEnum(EnumDescriptor enumType, String text) { EnumValueDescriptor value = null; if (lookingAtNumber(text)) { int number = parseUInt32(text); value = enumType.findValueByNumber(number); if (value == null) { throw new ParseException(String.format( "Enum type '%s' has no value with number %d", enumType.getFullName(), number)); } } else { value = enumType.findValueByName(text); if (value == null) { throw new ParseException(String.format( "Enum type '%s' has no value with name '%s'", enumType.getFullName(), text)); } } return value; }
private EnumValueDescriptor parseEnum(EnumDescriptor enumDescriptor, JsonElement json) throws InvalidProtocolBufferException { String value = json.getAsString(); EnumValueDescriptor result = enumDescriptor.findValueByName(value); if (result == null) { // Try to interpret the value as a number. try { int numericValue = parseInt32(json); if (enumDescriptor.getFile().getSyntax() == FileDescriptor.Syntax.PROTO3) { result = enumDescriptor.findValueByNumberCreatingIfUnknown(numericValue); } else { result = enumDescriptor.findValueByNumber(numericValue); } } catch (InvalidProtocolBufferException e) { // Fall through. This exception is about invalid int32 value we get from parseInt32() but // that's not the exception we want the user to see. Since result == null, we will throw // an exception later. } if (result == null) { throw new InvalidProtocolBufferException( "Invalid enum value: " + value + " for enum type: " + enumDescriptor.getFullName()); } } return result; }
private EnumValueDescriptor parseEnum(EnumDescriptor enumDescriptor, JsonElement json) throws InvalidProtocolBufferException { String value = json.getAsString(); EnumValueDescriptor result = enumDescriptor.findValueByName(value); if (result == null) { // Try to interpret the value as a number. try { int numericValue = parseInt32(json); if (enumDescriptor.getFile().getSyntax() == FileDescriptor.Syntax.PROTO3) { result = enumDescriptor.findValueByNumberCreatingIfUnknown(numericValue); } else { result = enumDescriptor.findValueByNumber(numericValue); } } catch (InvalidProtocolBufferException e) { // Fall through. This exception is about invalid int32 value we get from parseInt32() but // that's not the exception we want the user to see. Since result == null, we will throw // an exception later. } if (result == null) { throw new InvalidProtocolBufferException( "Invalid enum value: " + value + " for enum type: " + enumDescriptor.getFullName()); } } return result; }
/** * Fills lookup structure for translating between parquet enum values and Protocol buffer enum values. * */ private Map<Binary, Descriptors.EnumValueDescriptor> makeLookupStructure(Descriptors.FieldDescriptor enumFieldType) { Descriptors.EnumDescriptor enumType = enumFieldType.getEnumType(); Map<Binary, Descriptors.EnumValueDescriptor> lookupStructure = new HashMap<Binary, Descriptors.EnumValueDescriptor>(); List<Descriptors.EnumValueDescriptor> enumValues = enumType.getValues(); for (Descriptors.EnumValueDescriptor value : enumValues) { String name = value.getName(); lookupStructure.put(Binary.fromString(name), enumType.findValueByName(name)); } return lookupStructure; }
public static EnumValueDescriptor getEnumValue(final FieldDescriptor key, final String value) { return getEnumValue(key, key.getEnumType().findValueByName(value)); }
/** * Gets the enum value for the given enum type and name * * @param enumTypeName the enum type name * @param enumName the enum name * @return the enum value descriptor (null if not found) */ public EnumValueDescriptor getEnumValue(String enumTypeName, String enumName) { EnumDescriptor enumType = getEnumDescriptor(enumTypeName); if (enumType == null) return null; return enumType.findValueByName(enumName); }
private static EnumValueDescriptor toEnumValueDescriptor(FieldDescriptor fieldDescriptor, String name) { EnumValueDescriptor out = fieldDescriptor.getEnumType().findValueByName(name); if (out == null) { throw new IllegalArgumentException( String.format("Failed to convert string '%s'" + " to enum value of type '%s'", name, fieldDescriptor.getEnumType().getFullName())); } return out; }
public Integer getValue(String memberName) { EnumValueDescriptor value = descriptor.findValueByName(memberName); if (value != null) { return value.getNumber(); } return null; }
public Integer getValue(String memberName) { EnumValueDescriptor value = descriptor.findValueByName(memberName); if (value != null) { return value.getNumber(); } return null; }
if (result != null) { if (valueField.getType().getJavaType() == JavaType.ENUM) { builder.setField(valueField, valueField.getEnumType().findValueByName(result.toString())); } else if (valueField.getType().getJavaType() != JavaType.MESSAGE) { if (result instanceof Date) {
if (field.getJavaType() == JavaType.ENUM) { EnumDescriptor enumType = field.getEnumType(); builder.setField(field, enumType.findValueByName(arg.toString())); } else { if (arg instanceof SBase) { return enumType.findValueByName(value.toString()); } else if (value instanceof DynamicMessage) { return convertProtocolBuffersMessageToSObject((DynamicMessage) value, null, sMethod.getBestReturnType());
value = enumType.findValueByName(id); if (value == null) { throw tokenizer.parseExceptionPreviousToken("Enum type \""
value = enumType.findValueByName(id); if (value == null) { String unknownValueMsg =
val = enumDescriptor.findValueByNumberCreatingIfUnknown(RubyNumeric.num2int(value)); } else if (value instanceof RubySymbol || value instanceof RubyString) { val = enumDescriptor.findValueByName(value.asJavaString()); } else { throw runtime.newTypeError("Expected number or symbol type for enum field.");
Descriptors.EnumDescriptor enumDescriptor = ((RubyEnumDescriptor) typeClass.getInstanceVariable(DESCRIPTOR_INSTANCE_VAR)).getDescriptor(); val = enumDescriptor.findValueByName(value.asJavaString()); if (val == null) throw runtime.newRangeError("Enum value " + value + " is not found.");
@JRubyMethod(meta = true) public static IRubyObject resolve(ThreadContext context, IRubyObject recv, IRubyObject name) { RubyEnumDescriptor rubyEnumDescriptorescriptor = (RubyEnumDescriptor) getDescriptor(context, recv); Descriptors.EnumDescriptor descriptor = rubyEnumDescriptorescriptor.getDescriptor(); Descriptors.EnumValueDescriptor value = descriptor.findValueByName(name.asJavaString()); if (value == null) return context.runtime.getNil(); return context.runtime.newFixnum(value.getNumber()); }