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(); }
@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()); } }
private void generateField(MethodModel method, MethodView.Builder methodView) { List<String> parameterList = new ArrayList<>(); List<FieldModel> fieldList = new ArrayList<>(); Iterable<? extends FieldModel> inputFields = method.getInputFields(); for (FieldModel field : inputFields) { String fieldName = field.getSimpleName(); if (field.getOneof() == null && !helperTransformer.isIgnoredParameter(field)) { parameterList.add(fieldName); fieldList.add(field); } } List<String> parameters = filteredInputFields(method, fieldList); int numParams = parameters.size(); if (method.hasExtraFieldMask()) { numParams += 1; } if (numParams > 0 && numParams <= FLATTENING_THRESHOLD) { methodView.flattening(generateFlattening(parameters)); } methodView.requiredFields(parameters); methodView.resourceNameTreatment(helperTransformer.getResourceNameTreatment(method)); }
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; }