Descriptors.EnumDescriptor enumDescriptor = fieldDescriptor.getEnumType(); if (Utils.isRubyNum(value)) { Descriptors.EnumValueDescriptor val =
return NODES.textNode(""); case ENUM: return NODES.textNode(f.getEnumType().getValues().get(0).getName()); case MESSAGE: return NODES.nullNode();
runtime.newString(Utils.unescapeIdentifier(fieldDescriptor.getEnumType().getName()))); rubyFieldDescriptor.setSubType(subType);
protected Class<?> getJavaPrimitiveType(FieldDescriptor fieldDescriptor) { if (fieldDescriptor.getJavaType() == JavaType.BOOLEAN) { return boolean.class; } else if (fieldDescriptor.getJavaType() == JavaType.BYTE_STRING) { return DataHandler.class; } else if (fieldDescriptor.getJavaType() == JavaType.DOUBLE) { return double.class; } else if (fieldDescriptor.getJavaType() == JavaType.FLOAT) { return float.class; } else if (fieldDescriptor.getJavaType() == JavaType.INT) { return int.class; } else if (fieldDescriptor.getJavaType() == JavaType.LONG) { return long.class; } else if (fieldDescriptor.getJavaType() == JavaType.STRING) { return String.class; } else if (fieldDescriptor.getJavaType() == JavaType.ENUM) { try { return Class.forName("org.bimserver.interfaces.objects." + fieldDescriptor.getEnumType().getName()); } catch (ClassNotFoundException e) { LOGGER.error("", e); } } return null; } }
protected Class<?> getJavaType(FieldDescriptor fieldDescriptor) { if (fieldDescriptor.getJavaType() == JavaType.BOOLEAN) { return Boolean.class; } else if (fieldDescriptor.getJavaType() == JavaType.BYTE_STRING) { return DataHandler.class; } else if (fieldDescriptor.getJavaType() == JavaType.DOUBLE) { return Double.class; } else if (fieldDescriptor.getJavaType() == JavaType.FLOAT) { return Float.class; } else if (fieldDescriptor.getJavaType() == JavaType.INT) { return Integer.class; } else if (fieldDescriptor.getJavaType() == JavaType.LONG) { return Long.class; } else if (fieldDescriptor.getJavaType() == JavaType.STRING) { return String.class; } else if (fieldDescriptor.getJavaType() == JavaType.ENUM) { try { return Class.forName("org.bimserver.interfaces.objects." + fieldDescriptor.getEnumType().getName()); } catch (ClassNotFoundException e) { LOGGER.error("", e); } } return null; }
private void serialize(JsonGenerator jgen, FieldDescriptor field) throws IOException { jgen.writeObjectField("name", field.getName()); jgen.writeObjectField("label", field.toProto().getLabel()); jgen.writeObjectField("type_name", field.getType()); if (field.getType() == Type.MESSAGE) { jgen.writeObjectFieldStart("type"); serialize(jgen, field.getMessageType()); jgen.writeEndObject(); } else if (field.getType() == Type.ENUM) { jgen.writeObjectFieldStart("type"); serialize(jgen, field.getEnumType()); jgen.writeEndObject(); } }
while (input.getBytesUntilLimit() > 0) { final int rawValue = input.readEnum(); final Object value = field.getEnumType().findValueByNumber(rawValue); if (value == null) { value = field.getEnumType().findValueByNumber(rawValue);
final EnumDescriptor enumType = field.getEnumType();
final EnumDescriptor enumType = field.getEnumType();
if (field.getFile().supportsUnknownEnumValue()) { target.addRepeatedField(field, field.getEnumType().findValueByNumberCreatingIfUnknown(rawValue)); } else { final Object value = field.getEnumType().findValueByNumber(rawValue); if (value == null) { final int rawValue = input.readEnum(); if (field.getFile().supportsUnknownEnumValue()) { value = field.getEnumType().findValueByNumberCreatingIfUnknown(rawValue); } else { value = field.getEnumType().findValueByNumber(rawValue);
case ENUM: fieldType = TypeSignature.ofNamed( fieldDescriptor.getEnumType().getFullName(), fieldDescriptor.getEnumType()); break; default:
return Schema.create(Schema.Type.LONG); case ENUM: return getSchema(f.getEnumType()); case MESSAGE: result = getSchema(f.getMessageType());
private static Class<?> getJavaClassIgnoreRepeated(final Descriptors.FieldDescriptor descriptor, BeanContainer beanContainer) { switch (descriptor.getJavaType()) { case INT: return Integer.class; case LONG: return Long.class; case FLOAT: return Float.class; case DOUBLE: return Double.class; case BOOLEAN: return Boolean.class; case STRING: return String.class; case BYTE_STRING: return ByteString.class; //code duplicate, but GenericDescriptor interface is private in protobuf case ENUM: return getEnumClassByEnumDescriptor(descriptor.getEnumType(), beanContainer); case MESSAGE: return MappingUtils.loadClass(StringUtils.join( getFullyQualifiedClassName(descriptor.getMessageType().getContainingType(), descriptor.getMessageType().getFile().getOptions(), descriptor.getMessageType().getName()), '.'), beanContainer); default: throw new MappingException("Unable to find " + descriptor.getJavaType()); } }
break; case ENUM: Descriptors.EnumDescriptor enumDescriptor = fieldDescriptor.getEnumType();
RepeatedEnumFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessage> messageClass, final Class<? extends Builder> builderClass) { super(descriptor, camelCaseName, messageClass, builderClass); enumDescriptor = descriptor.getEnumType(); valueOfMethod = getMethodOrDie(type, "valueOf", EnumValueDescriptor.class); getValueDescriptorMethod = getMethodOrDie(type, "getValueDescriptor"); supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue(); if (supportUnknownEnumValue) { getRepeatedValueMethod = getMethodOrDie(messageClass, "get" + camelCaseName + "Value", int.class); getRepeatedValueMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName + "Value", int.class); setRepeatedValueMethod = getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class, int.class); addRepeatedValueMethod = getMethodOrDie(builderClass, "add" + camelCaseName + "Value", int.class); } } private EnumDescriptor enumDescriptor;
RepeatedEnumFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessageV3> messageClass, final Class<? extends Builder> builderClass) { super(descriptor, camelCaseName, messageClass, builderClass); enumDescriptor = descriptor.getEnumType(); valueOfMethod = getMethodOrDie(type, "valueOf", EnumValueDescriptor.class); getValueDescriptorMethod = getMethodOrDie(type, "getValueDescriptor"); supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue(); if (supportUnknownEnumValue) { getRepeatedValueMethod = getMethodOrDie(messageClass, "get" + camelCaseName + "Value", int.class); getRepeatedValueMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName + "Value", int.class); setRepeatedValueMethod = getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class, int.class); addRepeatedValueMethod = getMethodOrDie(builderClass, "add" + camelCaseName + "Value", int.class); } } private EnumDescriptor enumDescriptor;
SingularEnumFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessageV3> messageClass, final Class<? extends Builder> builderClass, final String containingOneofCamelCaseName) { super(descriptor, camelCaseName, messageClass, builderClass, containingOneofCamelCaseName); enumDescriptor = descriptor.getEnumType(); valueOfMethod = getMethodOrDie(type, "valueOf", EnumValueDescriptor.class); getValueDescriptorMethod = getMethodOrDie(type, "getValueDescriptor"); supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue(); if (supportUnknownEnumValue) { getValueMethod = getMethodOrDie(messageClass, "get" + camelCaseName + "Value"); getValueMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName + "Value"); setValueMethod = getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class); } }
SingularEnumFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessage> messageClass, final Class<? extends Builder> builderClass, final String containingOneofCamelCaseName) { super(descriptor, camelCaseName, messageClass, builderClass, containingOneofCamelCaseName); enumDescriptor = descriptor.getEnumType(); valueOfMethod = getMethodOrDie(type, "valueOf", EnumValueDescriptor.class); getValueDescriptorMethod = getMethodOrDie(type, "getValueDescriptor"); supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue(); if (supportUnknownEnumValue) { getValueMethod = getMethodOrDie(messageClass, "get" + camelCaseName + "Value"); getValueMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName + "Value"); setValueMethod = getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class); } }
@Override public Object getField(FieldDescriptor field) { checkFieldDescriptor(field); Object result = field.getNumber() == 1 ? getKey() : getValue(); // Convert enums to EnumValueDescriptor. if (field.getType() == FieldDescriptor.Type.ENUM) { result = field.getEnumType().findValueByNumberCreatingIfUnknown((Integer) result); } return result; }
@Override public Object getField(FieldDescriptor field) { checkFieldDescriptor(field); Object result = field.getNumber() == 1 ? getKey() : getValue(); // Convert enums to EnumValueDescriptor. if (field.getType() == FieldDescriptor.Type.ENUM) { result = field.getEnumType().findValueByNumberCreatingIfUnknown( (java.lang.Integer) result); } return result; }