jodd.db.orm.sqlgen.chunks
Class ColumnsSelectChunk

java.lang.Object
  extended by jodd.db.orm.sqlgen.chunks.SqlChunk
      extended by jodd.db.orm.sqlgen.chunks.ColumnsSelectChunk
All Implemented Interfaces:
java.lang.Cloneable

public class ColumnsSelectChunk
extends SqlChunk

Columns select chunk resolves entity column(s) from column references. Should be used for SELECT queries.

Column reference is specified as: tableReference.propertyName where property name is a property of the entity references by table reference. Result is rendered as: tableName.column or alias.column (if table has an alias).

There are some special values for propertyName

  • wildcard (*), all table columns will be listed
  • id sign (+), all table id columns will be listed

    If previous chunk is also a column chunk, comma separator will be added in between.

    Note that column alias are appended to the column name ('as' construct).

    Macro rules:

  • $C{tableRef} is rendered as FOO.col1, FOO.col2,...
  • $C{tableRef.*} is equal to above, renders all entity columns
  • $C{tableRef.+} renders to only identity columns
  • $C{tableRef.colRef} is rendered as FOO.column


    Field Summary
    protected  java.lang.String columnRef
               
    protected  java.lang.String hint
               
    protected  int includeColumns
               
    protected  java.lang.String tableRef
               
     
    Fields inherited from class jodd.db.orm.sqlgen.chunks.SqlChunk
    CHUNK_INSERT, CHUNK_MATCH, CHUNK_RAW, CHUNK_REFERENCE, CHUNK_SELECT_COLUMNS, CHUNK_TABLE, CHUNK_UPDATE, CHUNK_VALUE, chunkType, COLS_ALL, COLS_NA, COLS_ONLY_EXISTING, COLS_ONLY_IDS, nextChunk, previousChunk, templateData
     
    Constructor Summary
      ColumnsSelectChunk(java.lang.String reference)
               
      ColumnsSelectChunk(java.lang.String tableRef, boolean includeAll)
               
      ColumnsSelectChunk(java.lang.String tableRef, java.lang.String columnRef)
               
    protected ColumnsSelectChunk(java.lang.String tableRef, java.lang.String columnRef, int includeColumns, java.lang.String hint)
               
     
    Method Summary
    protected  void appendColumnName(java.lang.StringBuilder query, DbEntityDescriptor ded, java.lang.String column)
              Simply appends column name with optional table reference and alias.
     SqlChunk clone()
              Clones all parsed chunk data to an instance that is ready for processing.
     void init(TemplateData templateData)
              Counts actual real hints.
     void process(java.lang.StringBuilder out)
              Process the chunk and appends data to the output.
     
    Methods inherited from class jodd.db.orm.sqlgen.chunks.SqlChunk
    appendMissingSpace, defineParameter, getNextChunk, getPreviousChunk, insertChunkAfter, isPreviousChunkOfSameType, isPreviousChunkOfType, isPreviousMacroChunk, isPreviousRawChunk, lookupName, lookupTableRef, lookupType, resolveClass, resolveTable, separateByCommaOrSpace
     
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    tableRef

    protected final java.lang.String tableRef

    columnRef

    protected final java.lang.String columnRef

    includeColumns

    protected final int includeColumns

    hint

    protected final java.lang.String hint
    Constructor Detail

    ColumnsSelectChunk

    protected ColumnsSelectChunk(java.lang.String tableRef,
                                 java.lang.String columnRef,
                                 int includeColumns,
                                 java.lang.String hint)

    ColumnsSelectChunk

    public ColumnsSelectChunk(java.lang.String tableRef,
                              java.lang.String columnRef)

    ColumnsSelectChunk

    public ColumnsSelectChunk(java.lang.String tableRef,
                              boolean includeAll)

    ColumnsSelectChunk

    public ColumnsSelectChunk(java.lang.String reference)
    Method Detail

    init

    public void init(TemplateData templateData)
    Counts actual real hints.

    Overrides:
    init in class SqlChunk

    process

    public void process(java.lang.StringBuilder out)
    Description copied from class: SqlChunk
    Process the chunk and appends data to the output.

    Specified by:
    process in class SqlChunk

    appendColumnName

    protected void appendColumnName(java.lang.StringBuilder query,
                                    DbEntityDescriptor ded,
                                    java.lang.String column)
    Simply appends column name with optional table reference and alias.


    clone

    public SqlChunk clone()
    Description copied from class: SqlChunk
    Clones all parsed chunk data to an instance that is ready for processing.

    Specified by:
    clone in class SqlChunk


    Copyright © 2003-2011 Jodd Team