Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.jdbc.sql
Class SQLBuffer

    java.lang.Object
      org.apache.openjpa.jdbc.sql.SQLBuffer

All Implemented Interfaces:
  Serializable, Cloneable

    public final class SQLBuffer

extends Object
implements Serializable, Cloneable

Buffer for SQL statements that can be used to create java.sql.PreparedStatements. This buffer holds the SQL statement parameters and their corresponding columns. The parameters introduced by the runtime system are distinguished from the parameters set by the user.

Since:
  0.2.4
Author:
  Marc Prud'hommeaux, Abe White, Pinaki Poddar
See Also:
  Serialized Form

Constructor Summary
`SQLBuffer(DBDictionary dict)` Default constructor.
`SQLBuffer(SQLBuffer buf)` Copy constructor.

Method Summary
`void` | `addCastForParam(String oper, Val val)` Replace SQL '?' with CAST string if required by DB platform
`SQLBuffer` | `append(Column col)`
`SQLBuffer` | `append(DBIdentifier name)`
`SQLBuffer` | `append(Select sel, JDBCFetchConfiguration fetch)` Append a subselect.
`SQLBuffer` | `append(Sequence seq)`
`SQLBuffer` | `append(SQLBuffer buf)` Append all SQL and parameters of the given buffer.
`SQLBuffer` | `append(String s)`
`SQLBuffer` | `append(Table table)`
`SQLBuffer` | `appendCount(Select sel, JDBCFetchConfiguration fetch)` Append a subselect count.
`SQLBuffer` | `appendValue(Object o)` Append a parameter value.
`SQLBuffer` | `appendValue(Object o, Column col)` Append a system inserted parameter value for a specific column.
`SQLBuffer` | `appendValue(Object o, Column col, Parameter userParam)` Append a user parameter value for a specific column.
`SQLBuffer` | `appendValue(Object o, Column col, Parameter userParam, boolean useParamToken)`
`Object` | `clone()` Perform a shallow clone of this SQL Buffer.
`boolean` | `equals(Object other)`
`List` | `getColumns()`
`List` | `getParameters()` Return the list of parameter values.
`String` | `getSQL()` Return the SQL for this buffer.
`String` | `getSQL(boolean replaceParams)` Returns the SQL for this buffer.
`List` | `getUserParameters()` Get the user parameter positions in the list of parameters.
`int` | `hashCode()`
`boolean` | `isEmpty()` Return true if the buffer is emtpy.
`CallableStatement` | `prepareCall(Connection conn)` Create and populate the parameters of a prepared statement using the SQL in this buffer.
`CallableStatement` | `prepareCall(Connection conn, int rsType, int rsConcur)` Create and populate the parameters of a prepared statement using the SQL in this buffer.
`CallableStatement` | `prepareCall(Connection conn, JDBCFetchConfiguration fetch, int rsType, int rsConcur)` Create and populate the parameters of a prepred statement using the SQL in this buffer and the given fetch configuration.
`PreparedStatement` | `prepareStatement(Connection conn)` Create and populate the parameters of a prepared statement using the SQL in this buffer.
`PreparedStatement` | `prepareStatement(Connection conn, int rsType, int rsConcur)` Create and populate the parameters of a prepared statement using the SQL in this buffer.
`PreparedStatement` | `prepareStatement(Connection conn, JDBCFetchConfiguration fetch, int rsType, int rsConcur)` Create and populate the parameters of a prepred statement using the SQL in this buffer and the given fetch configuration.
`boolean` | `replace(Select old, Select sel)` Replace a subselect.
`void` | `replaceSqlString(int start, int end, String newString)` Replace current buffer string with the new string
`void` | `setParameters(List params)`
`void` | `setParameters(PreparedStatement ps)` Populate the parameters of an existing PreparedStatement with values from this buffer.
`boolean` | `sqlEquals(String sql)` Compare internal SQL without resolving subselects or stringifying parameters.

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SQLBuffer

    public SQLBuffer(DBDictionary dict)

  Default constructor.

### SQLBuffer

    public SQLBuffer(SQLBuffer buf)

  Copy constructor.

Method Detail

### clone

    public Object clone()

  Perform a shallow clone of this SQL Buffer.

  Overrides:
    `clone` in class `Object`

### isEmpty

    public boolean isEmpty()

  Return true if the buffer is emtpy.

### append

    public SQLBuffer append(SQLBuffer buf)

  Append all SQL and parameters of the given buffer.

### append

    public SQLBuffer append(DBIdentifier name)

### append

    public SQLBuffer append(Table table)

### append

    public SQLBuffer append(Sequence seq)

### append

    public SQLBuffer append(Column col)

### append

    public SQLBuffer append(String s)

### append

    public SQLBuffer append(Select sel,
                            JDBCFetchConfiguration fetch)

  Append a subselect. This delays resolution of the select SQL.

### appendCount

    public SQLBuffer appendCount(Select sel,
                                 JDBCFetchConfiguration fetch)

  Append a subselect count. This delays resolution of the select SQL.

### replace

    public boolean replace(Select old,
                           Select sel)

  Replace a subselect.

### appendValue

    public SQLBuffer appendValue(Object o)

  Append a parameter value.

### appendValue

    public SQLBuffer appendValue(Object o,
                                 Column col)

  Append a system inserted parameter value for a specific column.

### appendValue

    public SQLBuffer appendValue(Object o,
                                 Column col,
                                 Parameter userParam)

  Append a user parameter value for a specific column. User parameters are marked as opposed to the parameters inserted by the internal runtime system. This helps to reuse the buffer by reparmeterizing it with new set of user parameters while the 'internal' parameters remain unchanged.

  Parameters:
    `userParam` - if non-null, designates a 'user' parameter.

### appendValue

    public SQLBuffer appendValue(Object o,
                                 Column col,
                                 Parameter userParam,
                                 boolean useParamToken)

### getParameters

    public List getParameters()

  Return the list of parameter values.

### getUserParameters

    public List getUserParameters()

  Get the user parameter positions in the list of parameters. The odd element of the returned list contains an integer index that refers to the position in the `getParameters()` list. The even element of the returned list refers to the user parameter key. This structure is preferred over a normal map because a user parameter may occur more than one in the parameters.

### getSQL

    public String getSQL()

  Return the SQL for this buffer.

### getSQL

    public String getSQL(boolean replaceParams)

  Returns the SQL for this buffer.

  Parameters:
    `replaceParams` - if true, then replace parameters with the actual parameter values

### prepareStatement

    public PreparedStatement prepareStatement(Connection conn)
                                       throws SQLException

  Create and populate the parameters of a prepared statement using the SQL in this buffer.

  Throws:
    `SQLException`

### prepareStatement

    public PreparedStatement prepareStatement(Connection conn,
                                              int rsType,
                                              int rsConcur)
                                       throws SQLException

  Create and populate the parameters of a prepared statement using the SQL in this buffer.

  Throws:
    `SQLException`

### prepareStatement

    public PreparedStatement prepareStatement(Connection conn,
                                              JDBCFetchConfiguration fetch,
                                              int rsType,
                                              int rsConcur)
                                       throws SQLException

  Create and populate the parameters of a prepred statement using the SQL in this buffer and the given fetch configuration.

  Throws:
    `SQLException`

### prepareCall

    public CallableStatement prepareCall(Connection conn)
                                  throws SQLException

  Create and populate the parameters of a prepared statement using the SQL in this buffer.

  Throws:
    `SQLException`

### prepareCall

    public CallableStatement prepareCall(Connection conn,
                                         int rsType,
                                         int rsConcur)
                                  throws SQLException

  Create and populate the parameters of a prepared statement using the SQL in this buffer.

  Throws:
    `SQLException`

### prepareCall

    public CallableStatement prepareCall(Connection conn,
                                         JDBCFetchConfiguration fetch,
                                         int rsType,
                                         int rsConcur)
                                  throws SQLException

  Create and populate the parameters of a prepred statement using the SQL in this buffer and the given fetch configuration.

  Throws:
    `SQLException`

### setParameters

    public void setParameters(PreparedStatement ps)
                       throws SQLException

  Populate the parameters of an existing PreparedStatement with values from this buffer.

  Throws:
    `SQLException`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### sqlEquals

    public boolean sqlEquals(String sql)

  Compare internal SQL without resolving subselects or stringifying parameters.

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `Object`

### addCastForParam

    public void addCastForParam(String oper,
                                Val val)

  Replace SQL '?' with CAST string if required by DB platform

  Parameters:
    `oper` -
    `val` -

### replaceSqlString

    public void replaceSqlString(int start,
                                 int end,
                                 String newString)

  Replace current buffer string with the new string

  Parameters:
    `start` - replace start position
    `end` - replace end position
    `newString` -

### setParameters

    public void setParameters(List params)

### getColumns

    public List getColumns()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.