@Override public boolean shouldImportRequestObjectParamType(FieldModel field) { return field.isMap(); }
@Override public boolean shouldImportRequestObjectParamElementType(FieldModel field) { return !field.isMap(); }
@Override public boolean shouldImportRequestObjectParamType(FieldModel field) { return field.isMap(); }
/** The function name to get a field having the given type and name. */ public String getFieldGetFunctionName(FieldModel type, Name identifier) { return getFieldGetFunctionName( identifier, MapType.ofMap(type.isMap()), Cardinality.ofRepeated(type.isRepeated())); }
private TypeName getTypeNameForTypedResourceName(FieldModel type, String typedResourceShortName) { String packageName = implicitPackageName; String longName = packageName + "." + typedResourceShortName; TypeName simpleTypeName = new TypeName(longName, typedResourceShortName); if (type.isMap()) { throw new IllegalArgumentException("Map type not supported for typed resource name"); } else if (type.isRepeated()) { TypeName listTypeName = typeNameConverter.getTypeName("java.util.List"); return new TypeName( listTypeName.getFullName(), listTypeName.getNickname(), "%s<%i>", simpleTypeName); } else { return simpleTypeName; } }
/** The function name to set the given field. */ public String getFieldSetFunctionName(FieldModel field) { return getFieldSetFunctionName( field.getNameAsParameterName(), MapType.ofMap(field.isMap()), Cardinality.ofRepeated(field.isRepeated())); }
Name resourceName; if (type.isMap()) { return getNotImplementedString("SurfaceNamer.getResourceNameFieldGetFunctionName:map-type");
private String getExtraFieldDescription(FieldModel field) { boolean fieldIsMessage = field.isMessage() && !field.isMap(); boolean fieldIsEnum = field.isEnum(); if (fieldIsMessage) { return "This object should have the same structure as " + commentReformatter.getLinkedElementName( ((ProtoTypeRef) field.getType()).getProtoType().getMessageType()); } else if (fieldIsEnum) { return "The number should be among the values of " + commentReformatter.getLinkedElementName( ((ProtoTypeRef) field.getType()).getProtoType().getEnumType()); } return ""; }
/** The function name to add an element to a map or repeated field. */ public String getFieldAddFunctionName(FieldModel field) { if (field.isMap()) { return publicMethodName(Name.from("put").join(field.getNameAsParameterName())); } else if (field.isRepeated()) { return publicMethodName(Name.from("add").join(field.getNameAsParameterName())); } else { return publicMethodName(Name.from("set").join(field.getNameAsParameterName())); } }
initCodeNode = InitCodeNode.create(field.getNameAsParameter()); if (config.getResourcesField().isMap()) { initCodeNode = InitCodeNode.createWithChildren(
param.setCallName(namer.getFieldSetFunctionName(featureConfig, fieldConfig)); param.getCallName(namer.getFieldGetFunctionName(featureConfig, fieldConfig)); param.isMap(field.isMap()); param.isArray(!field.isMap() && field.isRepeated()); param.isPrimitive(field.isPrimitive()); param.isOptional(!isRequired);
/** The function name to get a field that is a resource name class. */ public String getResourceNameFieldGetFunctionName(FieldConfig fieldConfig) { FieldModel type = fieldConfig.getField(); Name identifier = fieldConfig.getField().getNameAsParameterName(); Name resourceName = getResourceTypeNameObject(fieldConfig.getResourceNameConfig()); if (type.isMap()) { return getNotImplementedString("SurfaceNamer.getResourceNameFieldGetFunctionName:map-type"); } else if (type.isRepeated()) { return publicMethodName( Name.from("get").join(identifier).join("list_as").join(resourceName).join("list")); } else { return publicMethodName(Name.from("get").join(identifier).join("as").join(resourceName)); } }
/** The function name to set a field that is a resource name class. */ public String getResourceNameFieldSetFunctionName(FieldConfig fieldConfig) { FieldModel type = fieldConfig.getField(); Name identifier = fieldConfig.getField().getNameAsParameterName(); Name resourceName = getResourceTypeNameObject(fieldConfig.getResourceNameConfig()); if (type.isMap()) { return getNotImplementedString("SurfaceNamer.getResourceNameFieldSetFunctionName:map-type"); } else if (type.isRepeated()) { return publicMethodName( Name.from("add", "all").join(identifier).join("with").join(resourceName).join("list")); } else { return publicMethodName(Name.from("set").join(identifier).join("with").join(resourceName)); } }
.resourceTypeName(resourceTypeName) .resourcesFieldGetterName(namer.getFieldGetFunctionName(resourcesField)) .resourcesFieldIsMap(resourcesField.isMap()) .resourcesIterateMethod(namer.getPagedResponseIterateMethod()) .resourcesVarName(namer.getPagedResourceName()) .resourceTypeName(resourceTypeName) .resourcesFieldGetterName(resourceGetterName) .resourcesFieldIsMap(resourcesField.isMap()) .resourcesIterateMethod( namer.getPagedResponseIterateMethod(
/** The type name for the message property */ @Override public String getMessagePropertyTypeName(ImportTypeTable importTypeTable, FieldModel fieldModel) { if (fieldModel.isMap()) { String keyTypeName = importTypeTable.getFullNameForElementType(fieldModel.getType().getMapKeyType()); String valueTypeName = importTypeTable.getFullNameForElementType(fieldModel.getType().getMapValueType()); return new TypeName( importTypeTable.getFullNameFor(fieldModel), importTypeTable.getNicknameFor(fieldModel), "%s{%i => %i}", new TypeName(keyTypeName), new TypeName(valueTypeName)) .getFullName(); } if (fieldModel.isRepeated()) { String elementTypeName = importTypeTable.getFullNameForElementType(fieldModel); return new TypeName( importTypeTable.getFullNameFor(fieldModel), importTypeTable.getNicknameFor(fieldModel), "%s<%i>", new TypeName(elementTypeName)) .getFullName(); } return importTypeTable.getFullNameForElementType(fieldModel); }
boolean isMap = fieldConfig.getField().isMap(); boolean isArray = fieldConfig.getField().isRepeated() && !isMap;
private PageStreamingDescriptorClassView generateDescriptorClass(MethodContext context) { SurfaceNamer namer = context.getNamer(); ImportTypeTable typeTable = context.getTypeTable(); MethodModel method = context.getMethodModel(); PageStreamingConfig pageStreaming = context.getMethodConfig().getPageStreaming(); PageStreamingDescriptorClassView.Builder desc = PageStreamingDescriptorClassView.newBuilder(); FieldModel resourceField = pageStreaming.getResourcesField(); FieldConfig resourceFieldConfig = pageStreaming.getResourcesFieldConfig(); desc.name(namer.getPageStreamingDescriptorConstName(method)); desc.typeName(namer.getAndSavePagedResponseTypeName(context, resourceFieldConfig)); desc.requestTypeName(method.getAndSaveRequestTypeName(typeTable, namer)); desc.responseTypeName(method.getAndSaveResponseTypeName(typeTable, namer)); desc.resourceTypeName(typeTable.getAndSaveNicknameForElementType(resourceField)); desc.defaultTokenValue( typeTable.getSnippetZeroValueAndSaveNicknameFor(pageStreaming.getResponseTokenField())); desc.requestTokenSetFunction( namer.getFieldSetFunctionName(pageStreaming.getRequestTokenField())); if (pageStreaming.hasPageSizeField()) { desc.requestPageSizeSetFunction( namer.getFieldSetFunctionName(pageStreaming.getPageSizeField())); desc.requestPageSizeGetFunction( namer.getFieldGetFunctionName(pageStreaming.getPageSizeField())); } desc.responseTokenGetFunction( namer.getFieldGetFunctionName(pageStreaming.getResponseTokenField())); desc.resourcesFieldGetFunction(namer.getFieldGetFunctionName(resourceField)); desc.resourcesFieldIsMap(resourceField.isMap()); return desc.build(); }