static List builtInFunctions()

in codegen/src/main/java/software/amazon/awssdk/codegen/poet/rules2/RuleRuntimeTypeMirror.java [118:201]


    static List<RuleFunctionMirror> builtInFunctions(Map<String, RuleType> types) {
        RuleType containingType = types.get(RULES_FUNCTIONS_TYPE_NAME);
        return Arrays.asList(
            RuleFunctionMirror
                .builder("not")
                .returns(BOOLEAN)
                .addArgument("value", BOOLEAN)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("substring")
                .returns(STRING)
                .addArgument("index", STRING)
                .addArgument("startIdx", INTEGER)
                .addArgument("endIdx", INTEGER)
                .addArgument("reverse", BOOLEAN)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("stringEquals")
                .returns(BOOLEAN)
                .addArgument("left", STRING)
                .addArgument("right", STRING)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("booleanEquals")
                .returns(BOOLEAN)
                .addArgument("left", BOOLEAN)
                .addArgument("right", BOOLEAN)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("uriEncode")
                .returns(STRING)
                .addArgument("value", STRING)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("parseURL")
                .returns(types.get(URL_TYPE_NAME))
                .addArgument("value", STRING)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("isValidHostLabel")
                .returns(BOOLEAN)
                .addArgument("value", STRING)
                .addArgument("allowSubDomains", BOOLEAN)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("aws.partition")
                .javaName("awsPartition")
                .returns(types.get(PARTITION_TYPE_NAME))
                .addArgument("value", STRING)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("aws.parseArn")
                .javaName("awsParseArn")
                .returns(types.get(ARN_TYPE_NAME))
                .addArgument("value", STRING)
                .containingType(containingType)
                .build(),
            RuleFunctionMirror
                .builder("aws.isVirtualHostableS3Bucket")
                .javaName("awsIsVirtualHostableS3Bucket")
                .returns(BOOLEAN)
                .addArgument("value", STRING)
                .addArgument("allowSubDomains", BOOLEAN)
                .containingType(containingType)
                .build(),
            // Not well-defined, should take List<T> and return T
            // still does the trick for codegen.
            RuleFunctionMirror
                .builder("listAccess")
                .returns(BOOLEAN)
                .addArgument("value", LIST_OF_STRING)
                .addArgument("index", INTEGER)
                .containingType(containingType)
                .build()
        );
    }