private GraphQLInputType getInputTypeByField()

in data-index/data-index-graphql/src/main/java/org/kie/kogito/index/graphql/query/GraphQLInputObjectTypeMapper.java [94:126]


    private GraphQLInputType getInputTypeByField(GraphQLFieldDefinition field) {
        String name = resolveBaseTypeName(field.getType());
        switch (name) {
            case "Int":
                return getInputObjectType("NumericArgument");
            case "Long":
                return getInputObjectType("LongArgument");
            case "Double":
                return getInputObjectType("BigDecimalArgument");
            case "Float":
                return getInputObjectType("FloatArgument");
            case "String":
                return getInputObjectType("StringArgument");
            case "Boolean":
                return getInputObjectType("BooleanArgument");
            case "DateTime":
                return getInputObjectType("DateArgument");
            default:
                String typeName = name + ARGUMENT;
                GraphQLType schemaType = getExistingType(typeName);
                if (schemaType == null) {
                    GraphQLObjectType domain = (GraphQLObjectType) getAdditionalTypes().get(name);
                    if (domain == null) {
                        return null;
                    }
                    GraphQLInputObjectType type = new GraphQLInputObjectTypeMapper(getSchema(), getAdditionalTypes(), false).apply(domain);
                    getAdditionalTypes().put(typeName, type);
                    return type;
                } else {
                    return (GraphQLInputType) schemaType;
                }
        }
    }