Language: Java
Label: safe
CWE: CWE-89 \u2014 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.

Code:
    public void testFunctionStrStartsWithEscaping() throws Exception {
        filterToSql.setFeatureType(testSchema);
        Filter filter =
                ff.equals(
                        ff.literal(true),
                        ff.function(
                                "strStartsWith", ff.property("testString"), ff.literal("'FOO")));
        filterToSql.encode(filter);
        String sql = writer.toString();
        assertEquals("WHERE true = (testString LIKE ('''FOO' || '%'))", sql);
    }