public static boolean isPacked(Field protoField) { DynamicMessage.Value dynamicMessageValue = protoField.getOptions().get("packed"); if (dynamicMessageValue != null) { return dynamicMessageValue.getBoolean(); } return isSupportPacked(protoField); }
@Override public boolean containsKey(Object key) { if (key instanceof String) { String name = (String) key; return get(name) != null; } return fields.containsKey(key); }
@Override public boolean containsKey(Object key) { if (key instanceof String) { String name = (String) key; return get(name) != null; } return fields.containsKey(key); }
/** * Get option value for a given key (field name or field key - for accessing custom options). */ @Override public Value get(Object key) { if (key instanceof String) { String name = (String) key; return get(name); } return fields.get(key); }
/** * Get option value for a given key (field name or field key - for accessing custom options). */ @Override public Value get(Object key) { if (key instanceof String) { String name = (String) key; return get(name); } return fields.get(key); }
public boolean isMapEntry() { DynamicMessage.Value value = this.getOptions().get(MessageParseListener.OPTION_MAP_ENTRY); return value != null && value.isBooleanType() && value.getBoolean(); } }
public boolean isMapEntry() { DynamicMessage.Value value = this.getOptions().get(MessageParseListener.OPTION_MAP_ENTRY); return value != null && value.isBooleanType() && value.getBoolean(); } }
return msg.get(rest); } else { Key key = createKey(name);
return msg.get(rest); } else { Key key = createKey(name);
private void checkDuplicateEnumConstantValues(Enum anEnum, List<EnumConstant> constants) { DynamicMessage.Value allowAlias = anEnum.getOptions().get(ALLOW_ALIAS); if (allowAlias != null && allowAlias.isBooleanType() && allowAlias.getBoolean()) { // skip this check if aliases are allowed return; } Map<Integer, EnumConstant> constantByValue = new HashMap<>(); for (EnumConstant constant : constants) { Integer value = constant.getValue(); if (constantByValue.containsKey(value)) { throw new ParserException(constant, "Duplicate enum constant value: %d", value); } constantByValue.put(value, constant); } }
private void checkDuplicateEnumConstantValues(Enum anEnum, List<EnumConstant> constants) { DynamicMessage.Value allowAlias = anEnum.getOptions().get(ALLOW_ALIAS); if (allowAlias != null && allowAlias.isBooleanType() && allowAlias.getBoolean()) { // skip this check if aliases are allowed return; } Map<Integer, EnumConstant> constantByValue = new HashMap<>(); for (EnumConstant constant : constants) { Integer value = constant.getValue(); if (constantByValue.containsKey(value)) { throw new ParserException(constant, "Duplicate enum constant value: %d", value); } constantByValue.put(value, constant); } }
/** * Returns java package name. */ public static String getPackage(Proto proto) { DynamicMessage.Value javaPackage = proto.getOptions().get(OPTION_JAVA_PACKAGE); if (javaPackage != null) { return javaPackage.getString(); } return proto.getPackage().getValue(); }
/** * Returns java package name. */ public static String getPackage(Proto proto) { DynamicMessage.Value javaPackage = proto.getOptions().get(OPTION_JAVA_PACKAGE); if (javaPackage != null) { return javaPackage.getString(); } return proto.getPackage().getValue(); }
/** * Returns a java field default value for proto field. */ public static String getDefaultValue(Field field) { FieldType type = field.getType(); if (type instanceof ScalarFieldType) { return ScalarFieldTypeUtil.getDefaultValue((ScalarFieldType) type); } if (type instanceof Message) { Message m = (Message) type; return UserTypeUtil.getCanonicalName(m) + ".getDefaultInstance()"; } if (type instanceof Enum) { Enum anEnum = (Enum) type; String defaultValue; List<EnumConstant> constants = anEnum.getConstants(); if (constants.isEmpty()) { defaultValue = "UNRECOGNIZED"; } else { DynamicMessage options = field.getOptions(); defaultValue = options.containsKey(DEFAULT) ? options.get(DEFAULT).getEnumName() : constants.get(0).getName(); } return UserTypeUtil.getCanonicalName(anEnum) + "." + defaultValue; } throw new IllegalArgumentException(String.valueOf(type)); }
/** * Returns a java field default value for proto field. */ public static String getDefaultValue(Field field) { FieldType type = field.getType(); if (type instanceof ScalarFieldType) { return ScalarFieldTypeUtil.getDefaultValue((ScalarFieldType) type); } if (type instanceof Message) { Message m = (Message) type; return UserTypeUtil.getCanonicalName(m) + ".getDefaultInstance()"; } if (type instanceof Enum) { Enum anEnum = (Enum) type; String defaultValue; List<EnumConstant> constants = anEnum.getConstants(); if (constants.isEmpty()) { defaultValue = "UNRECOGNIZED"; } else { DynamicMessage options = field.getOptions(); defaultValue = options.containsKey(DEFAULT) ? options.get(DEFAULT).getEnumName() : constants.get(0).getName(); } return UserTypeUtil.getCanonicalName(anEnum) + "." + defaultValue; } throw new IllegalArgumentException(String.valueOf(type)); }