/** Is this type a primitive, according to target language. */ public boolean isPrimitive(FieldModel type) { return type.isPrimitive(); }
@VisibleForTesting static <E extends FieldModel> List<FieldModel> responseInitFields(List<E> fields) { HashSet<Oneof> oneofSet = new HashSet<>(); return fields .stream() .filter(f -> f.isPrimitive() && !f.isRepeated()) .filter( f -> { // Includes field if field is not a part of a oneof, or it's the first field of the // oneof. Oneof oneof = f.getOneof(); return oneof == null || oneofSet.add(oneof); }) .collect(Collectors.toList()); }
Mockito.when(field1.isPrimitive()).thenReturn(true); Mockito.when(field1.isRepeated()).thenReturn(false); Mockito.when(field1.getOneof()).thenReturn(oneof1); Mockito.when(field2.isPrimitive()).thenReturn(true); Mockito.when(field2.isRepeated()).thenReturn(false); Mockito.when(field2.getOneof()).thenReturn(oneof1); Mockito.when(field3.isPrimitive()).thenReturn(true); Mockito.when(field3.isRepeated()).thenReturn(false); Mockito.when(field3.getOneof()).thenReturn(oneof2);
@Override public String getOptionalFieldDefaultValue(FieldConfig fieldConfig, MethodContext context) { // Need to provide defaults for primitives, enums, strings, and repeated (including maps) FieldModel type = fieldConfig.getField(); if (context.getFeatureConfig().useResourceNameFormatOption(fieldConfig)) { if (type.isRepeated()) { TypeNameConverter typeNameConverter = getTypeNameConverter(); TypeName elementTypeName = typeNameConverter.getTypeName(getResourceTypeName(fieldConfig.getResourceNameConfig())); TypeName enumerableTypeName = typeNameConverter.getTypeName("System.Linq.Enumerable"); TypeName emptyTypeName = new TypeName( enumerableTypeName.getFullName(), enumerableTypeName.getNickname(), "%s.Empty<%i>", elementTypeName); return TypedValue.create(emptyTypeName, "%s()") .getValueAndSaveTypeNicknameIn((CSharpTypeTable) typeNameConverter); } else { return null; } } else { if (type.isPrimitive() || type.isEnum() || type.isRepeated()) { return context.getTypeTable().getImplZeroValueAndSaveNicknameFor(type); } else { return null; } } }
param.isMap(field.isMap()); param.isArray(!field.isMap() && field.isRepeated()); param.isPrimitive(field.isPrimitive()); param.isOptional(!isRequired); if (!isRequired) {