/** Returns a string representing the ordered fields in a flattening config. */ private static String flatteningConfigToString(FlatteningConfig flatteningConfig) { Iterable<FieldModel> paramList = flatteningConfig.getFlattenedFields(); StringBuilder paramsAsString = new StringBuilder(); paramList.forEach(p -> paramsAsString.append(p.getSimpleName()).append(", ")); return paramsAsString.toString(); } }
@Override public FieldModel getField(String key) { for (FieldModel field : getFields()) { if (field.getSimpleName().equals(key)) { return field; } } return null; }
static Iterable<FieldModel> getOptionalFields( MethodModel method, List<String> requiredFieldNames) { ImmutableList.Builder<FieldModel> fieldsBuilder = ImmutableList.builder(); for (FieldModel field : method.getInputFields()) { if (requiredFieldNames.contains(field.getSimpleName())) { continue; } fieldsBuilder.add(field); } return fieldsBuilder.build(); }
/** * The function name to get an element by index from the given field. * * @throws IllegalArgumentException if the field is not a repeated field. */ public String getByIndexGetFunctionName(FieldModel field) { if (field.isRepeated()) { return publicMethodName(Name.from("get", field.getSimpleName())); } else { throw new IllegalArgumentException( "Non-repeated field " + field.getSimpleName() + " has no get-by-index function."); } }
/** Determines whether a field is required */ private static boolean isRequired(FieldConfig fieldConfig, MethodContext context) { return fieldConfig != null && context .getMethodConfig() .getRequiredFieldConfigs() .stream() .anyMatch( fc -> fc.getField().getSimpleName().equals(fieldConfig.getField().getSimpleName())); }
@Override public List<String> getParameterList(MethodModel method) { return method .getInputFields() .stream() .filter(f -> f.getOneof() == null && !isIgnoredParameter(f.getSimpleName())) .map(FieldModel::getSimpleName) .collect(Collectors.toList()); } }
@Override public String getFieldGetFunctionName(FieldModel field) { return privateMethodName(Name.from(field.getSimpleName())); }
@Override public String getFieldGetFunctionName(FieldModel type, Name identifier) { return publicFieldName(Name.from(type.getSimpleName())); }
@Override public String getFieldGetFunctionName(FieldModel field) { return Name.from(field.getSimpleName()).toLowerCamel(); }
@Override public String getFieldGetFunctionName(FieldModel field) { return publicFieldName(Name.from(field.getSimpleName())); }
/** The formatted field name of a page streaming response token. */ public String getResponseTokenFieldName(PageStreamingConfig pageStreaming) { return keyName(Name.from(pageStreaming.getResponseTokenField().getSimpleName())); }
@Override public String getFieldSetFunctionName(FieldModel field) { return publicMethodName(Name.from("set").join(field.getSimpleName())); }
@Override public String getFieldGetFunctionName(FeatureConfig featureConfig, FieldConfig fieldConfig) { FieldModel field = fieldConfig.getField(); return Name.from(field.getSimpleName()).toLowerCamel(); }
@Override public String getFieldAddFunctionName(FieldModel field) { return publicMethodName(Name.from("add").join(field.getSimpleName())); }
/** The formatted field name of a page streaming request token. */ public String getRequestTokenFieldName(PageStreamingConfig pageStreaming) { return keyName(Name.from(pageStreaming.getRequestTokenField().getSimpleName())); }
@Override public String getFieldGetFunctionName(FieldModel field) { return publicMethodName(Name.from("get").join(field.getSimpleName())); }
private String getResourcesFieldName(MethodModel method, ConfigHelper helper) { FieldModel resourcesField = getResourcesField(method); if (resourcesField != null) { return resourcesField.getSimpleName(); } helper.error( method.getFullName(), "Page streaming resources field could not be heuristically determined for " + "method '%s'%n", method.getSimpleName()); return null; } }
@Override public String getOneofVariantTypeName(OneofConfig oneof) { return String.format( "%s_%s", converter.getTypeName(oneof.parentType(), false).getNickname(), publicFieldName(Name.from(oneof.field().getSimpleName()))); }
/** * The function name to get the count of elements in the given field. * * @throws IllegalArgumentException if the field is not a repeated field. */ public String getFieldCountGetFunctionName(FieldModel field) { if (field.isRepeated()) { return publicMethodName(Name.from("get").join(field.getNameAsParameterName()).join("count")); } else { throw new IllegalArgumentException( "Non-repeated field " + field.getSimpleName() + " has no count function."); } }
private PageStreamingRequestView generatePageStreamingRequest(MethodModel method) { PageStreamingRequestView.Builder requestBuilder = PageStreamingRequestView.newBuilder(); for (FieldModel field : method.getInputFields()) { String fieldName = field.getSimpleName(); if (fieldName.equals(helperTransformer.getPagingParameters().getNameForPageToken())) { requestBuilder.tokenField(fieldName); } else if (fieldName.equals(helperTransformer.getPagingParameters().getNameForPageSize())) { requestBuilder.pageSizeField(fieldName); } } PageStreamingRequestView request = requestBuilder.build(); return request.tokenField() == null && request.pageSizeField() == null ? null : request; }