# Class DefaultSQLAppendable

java.lang.Object
org.apache.cayenne.access.sqlbuilder.DefaultSQLAppendable

All Implemented Interfaces:
  `SQLAppendable`

public class DefaultSQLAppendable extends Object implements SQLAppendable

Since:
  4.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultSQLAppendable(QuotingStrategy quotingStrategy)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SQLAppendable`
  `append(char c)`
  `SQLAppendable`
  `append(int c)`
  `SQLAppendable`
  `append(String str)`
  `SQLAppendable`
  `appendQuoted(String str)`
  `SQLAppendable`
  `appendTokenSeparator()`
  Emits a token separator (a single space) ahead of the next SQL token.
  `String`
  `getSql()`
  `SQLAppendable`
  `suppressNextTokenSeparator()`
  Suppresses the separator that the next `SQLAppendable.appendTokenSeparator()` call would emit.
  `String`
  `toString()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface SQLAppendable

  `append`

- ## Constructor Details

  - ### DefaultSQLAppendable

    public DefaultSQLAppendable(QuotingStrategy quotingStrategy)

- ## Method Details

  - ### append

    public SQLAppendable append(String str)
    Specified by:
      `append` in interface `SQLAppendable`

  - ### append

    public SQLAppendable append(char c)
    Specified by:
      `append` in interface `SQLAppendable`

  - ### append

    public SQLAppendable append(int c)
    Specified by:
      `append` in interface `SQLAppendable`

  - ### appendQuoted

    public SQLAppendable appendQuoted(String str)
    Specified by:
      `appendQuoted` in interface `SQLAppendable`

  - ### appendTokenSeparator

    public SQLAppendable appendTokenSeparator()
    Description copied from interface: `SQLAppendable`
    Emits a token separator (a single space) ahead of the next SQL token. SQL tree nodes call this instead of embedding a leading space in their literals, so inter-token spacing is owned by the appendable rather than scattered across nodes. The separator is skipped when `SQLAppendable.suppressNextTokenSeparator()` was just called.
    Specified by:
      `appendTokenSeparator` in interface `SQLAppendable`

  - ### suppressNextTokenSeparator

    public SQLAppendable suppressNextTokenSeparator()
    Description copied from interface: `SQLAppendable`
    Suppresses the separator that the next `SQLAppendable.appendTokenSeparator()` call would emit. A node calls this right after opening a parenthesis so the group hugs its first token — `(NAME)` rather than `( NAME)`.
    Specified by:
      `suppressNextTokenSeparator` in interface `SQLAppendable`

  - ### getSql

    public String getSql()
    Specified by:
      `getSql` in interface `SQLAppendable`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`