Class Sql

All Implemented Interfaces:

@Beta public final class Sql extends Object implements CharSequence

An immutable sql statement string created from multiple tokens in order to write inline sql statements in an easy-to-read fashion spread out over multiple lines of code.

The class implements CharSequence and thus can be used as a drop-in alternative wherever API supports CharSequence rather than String.

Please note that the validity of the statement is never checked, and that null or empty inputs are permitted (no run-time exceptions).
The input of multiple tokens is formatted into a single String by removing leading and trailing whitespace and concatenating non-empty tokens by a single space character. Further, any trailing semicolons are removed from the resulting sql string.


     String tblName = "table";
     Sql.of("SELECT COUNT(*)",
            "FROM", tblName,
            " WHERE cond1 = :cond1",
            "   AND cond2 = :cond2");