All Downloads are FREE. Search and download functionalities are using the official Maven repository.

graphql.scalars.numeric.NonNegativeIntScalar Maven / Gradle / Ivy

There is a newer version: 2023-01-24T02-11-56-babda5f
Show newest version
package graphql.scalars.numeric;

import graphql.Internal;
import graphql.schema.GraphQLScalarType;

import java.util.function.Function;

/**
 * Access this via {@link graphql.scalars.ExtendedScalars#NonNegativeInt}
 */
@Internal
public final class NonNegativeIntScalar {

    private NonNegativeIntScalar() {}

    public static final GraphQLScalarType INSTANCE = GraphQLScalarType.newScalar()
            .name("NonNegativeInt")
            .description("An Int scalar that must be greater than or equal to zero")
            .coercing(new IntCoercing() {
                @Override
                protected Integer check(Integer i, Function exceptionMaker) {
                    if (i < 0) {
                        throw exceptionMaker.apply("The value must be greater than or equal to zero");
                    }
                    return i;
                }
            })
            .build();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy