@Override protected void handleFieldNotValidError(ObjectField objectField, GraphQLInputObjectType type) { argumentNames.add(0, objectField.getName()); }
private Map<String, ObjectField> fieldMap(ObjectValue objectValue) { Map<String, ObjectField> result = new LinkedHashMap<>(); for (ObjectField objectField : objectValue.getObjectFields()) { result.put(objectField.getName(), objectField); } return result; }
private Map<String, ObjectField> mapObjectValueFieldsByName(ObjectValue inputValue) { Map<String, ObjectField> inputValueFieldsByName = new LinkedHashMap<>(); for (ObjectField objectField : inputValue.getObjectFields()) { inputValueFieldsByName.put(objectField.getName(), objectField); } return inputValueFieldsByName; } }
@Override protected void handleExtraFieldError(Value value, GraphQLInputObjectType type, ObjectField objectField) { errorMessage = "contains a field not in '%s': '%s'"; arguments.add(type.getName()); arguments.add(objectField.getName()); }
private NodePrinter<ObjectField> objectField() { String nameValueSep = compactMode ? ":" : " : "; return (out, node) -> out.printf("%s%s%s", node.getName(), nameValueSep, value(node.getValue())); }
.filter(field -> !nameToInputValueDefMap.containsKey(field.getName())) .collect(Collectors.toList());
private Builder(ObjectField existing) { this.sourceLocation = existing.getSourceLocation(); this.comments = existing.getComments(); this.name = existing.getName(); this.value = existing.getValue(); }
private void enterImpl(ObjectField objectField) { GraphQLUnmodifiedType objectType = unwrapAll(getInputType()); GraphQLInputType inputType = null; if (objectType instanceof GraphQLInputObjectType) { GraphQLInputObjectType inputObjectType = (GraphQLInputObjectType) objectType; GraphQLInputObjectField inputField = schema.getFieldVisibility().getFieldDefinition(inputObjectType, objectField.getName()); if (inputField != null) inputType = inputField.getType(); } addInputType(inputType); }
result.put(field.getName(), fieldObject); } else { assertNonNullInputField(inputTypeField);
private boolean isValidLiteralValue(Value value, GraphQLInputObjectType type, GraphQLSchema schema) { if (!(value instanceof ObjectValue)) { handleNotObjectError(value, type); return false; } GraphqlFieldVisibility fieldVisibility = schema.getCodeRegistry().getFieldVisibility(); ObjectValue objectValue = (ObjectValue) value; Map<String, ObjectField> objectFieldMap = fieldMap(objectValue); Set<String> missingFields = getMissingFields(type, objectFieldMap, fieldVisibility); if (!missingFields.isEmpty()) { handleMissingFieldsError(value, type, missingFields); return false; } for (ObjectField objectField : objectValue.getObjectFields()) { GraphQLInputObjectField inputObjectField = fieldVisibility.getFieldDefinition(type, objectField.getName()); if (inputObjectField == null) { handleExtraFieldError(value, type, objectField); return false; } if (!isValidLiteralValue(objectField.getValue(), inputObjectField.getType(), schema)) { handleFieldNotValidError(objectField, type); return false; } } return true; }
@Override protected void handleFieldNotValidError(ObjectField objectField, GraphQLInputObjectType type) { argumentNames.add(0, objectField.getName()); }
@Override protected void handleExtraFieldError(Value value, GraphQLInputObjectType type, ObjectField objectField) { errorMessage = "contains a field not in '%s': '%s'"; arguments.add(type.getName()); arguments.add(objectField.getName()); }
protected final Optional<ObjectField> getObjectField(ObjectValue objectValue, String fieldName) { return objectValue.getObjectFields().stream() .filter(it -> fieldName.equals(it.getName())) .findFirst(); }
private Map<String, ObjectField> mapObjectValueFieldsByName(ObjectValue inputValue) { Map<String, ObjectField> inputValueFieldsByName = new LinkedHashMap<>(); for (ObjectField objectField : inputValue.getObjectFields()) { inputValueFieldsByName.put(objectField.getName(), objectField); } return inputValueFieldsByName; } }
private Map<String, ObjectField> fieldMap(ObjectValue objectValue) { Map<String, ObjectField> result = new LinkedHashMap<>(); for (ObjectField objectField : objectValue.getObjectFields()) { result.put(objectField.getName(), objectField); } return result; }
private NodePrinter<ObjectField> objectField() { String nameValueSep = compactMode ? ":" : " : "; return (out, node) -> out.printf("%s%s%s", node.getName(), nameValueSep, value(node.getValue())); }
private Builder(ObjectField existing) { this.sourceLocation = existing.getSourceLocation(); this.comments = existing.getComments(); this.name = existing.getName(); this.value = existing.getValue(); }
private void enterImpl(ObjectField objectField) { GraphQLUnmodifiedType objectType = unwrapAll(getInputType()); GraphQLInputType inputType = null; if (objectType instanceof GraphQLInputObjectType) { GraphQLInputObjectType inputObjectType = (GraphQLInputObjectType) objectType; GraphQLInputObjectField inputField = schema.getFieldVisibility().getFieldDefinition(inputObjectType, objectField.getName()); if (inputField != null) inputType = inputField.getType(); } addInputType(inputType); }