private boolean shouldSkip(ResponseField field) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.BooleanCondition) { ResponseField.BooleanCondition booleanCondition = (ResponseField.BooleanCondition) condition; Boolean conditionValue = (Boolean) variableValues.get(booleanCondition.variableName()); if (booleanCondition.inverted()) { // means it's a skip directive if (Boolean.TRUE.equals(conditionValue)) { return true; } } else { // means it's an include directive if (Boolean.FALSE.equals(conditionValue)) { return true; } } } } return false; }
@Override public <T> T readConditional(ResponseField field, ConditionalTypeReader<T> conditionalTypeReader) { if (shouldSkip(field)) { return null; } willResolve(field); String value = fieldValueResolver.valueFor(recordSet, field); checkValue(field, value); if (value == null) { resolveDelegate.didResolveNull(); didResolve(field); return null; } else { resolveDelegate.didResolveScalar(value); didResolve(field); if (field.type() == ResponseField.Type.INLINE_FRAGMENT) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.TypeNameCondition) { if (((ResponseField.TypeNameCondition) condition).typeName().equals(value)) { return conditionalTypeReader.read(value, this); } } } return null; } else { return conditionalTypeReader.read(value, this); } } }
private boolean shouldSkip(ResponseField field) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.BooleanCondition) { ResponseField.BooleanCondition booleanCondition = (ResponseField.BooleanCondition) condition; Boolean conditionValue = (Boolean) variableValues.get(booleanCondition.variableName()); if (booleanCondition.inverted()) { // means it's a skip directive if (conditionValue == Boolean.TRUE) { return true; } } else { // means it's an include directive if (conditionValue == Boolean.FALSE) { return true; } } } } return false; }
private boolean shouldSkip(ResponseField field) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.BooleanCondition) { ResponseField.BooleanCondition booleanCondition = (ResponseField.BooleanCondition) condition; Boolean conditionValue = (Boolean) variableValues.get(booleanCondition.variableName()); if (booleanCondition.inverted()) { // means it's a skip directive if (conditionValue == Boolean.TRUE) { return true; } } else { // means it's an include directive if (conditionValue == Boolean.FALSE) { return true; } } } } return false; }
@Override public <T> T readConditional(ResponseField field, ConditionalTypeReader<T> conditionalTypeReader) { if (shouldSkip(field)) { return null; } willResolve(field); String value = fieldValueResolver.valueFor(recordSet, field); checkValue(field, value); if (value == null) { readerShadow.didResolveNull(); didResolve(field); return null; } else { readerShadow.didResolveScalar(value); didResolve(field); if (field.type() == ResponseField.Type.INLINE_FRAGMENT) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.TypeNameCondition) { if (((ResponseField.TypeNameCondition) condition).typeName().equals(value)) { return (T) conditionalTypeReader.read(value, this); } } } return null; } else { return (T) conditionalTypeReader.read(value, this); } } }
@Override public <T> T readConditional(ResponseField field, ConditionalTypeReader<T> conditionalTypeReader) { if (shouldSkip(field)) { return null; } willResolve(field); String value = fieldValueResolver.valueFor(recordSet, field); checkValue(field, value); if (value == null) { readerShadow.didResolveNull(); didResolve(field); return null; } else { readerShadow.didResolveScalar(value); didResolve(field); if (field.type() == ResponseField.Type.INLINE_FRAGMENT) { for (ResponseField.Condition condition : field.conditions()) { if (condition instanceof ResponseField.TypeNameCondition) { if (((ResponseField.TypeNameCondition) condition).typeName().equals(value)) { return (T) conditionalTypeReader.read(value, this); } } } return null; } else { return (T) conditionalTypeReader.read(value, this); } } }