/** * Creates new {@link TypeNameCondition} */ @NotNull public static TypeNameCondition typeCondition(@NotNull String type) { return new TypeNameCondition(type); }
@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); } } }
/** * Creates new {@link TypeNameCondition} */ @Nonnull public static TypeNameCondition typeCondition(@Nonnull String type) { return new TypeNameCondition(type); }
/** * Creates new {@link TypeNameCondition} */ @Nonnull public static TypeNameCondition typeCondition(@Nonnull String type) { return new TypeNameCondition(type); }
@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); } } }