jodd.db.orm.sqlgen
Class DbEntitySearcher

java.lang.Object
  extended by jodd.db.orm.sqlgen.DbEntitySearcher
All Implemented Interfaces:
DbSqlGenerator

public class DbEntitySearcher
extends java.lang.Object
implements DbSqlGenerator

Simple entity searcher. It may be applied directly on entity objects, but developers may create so-called search objects - that extends entity objects and adds more fields


Field Summary
protected  DbOrm dbOrm
           
protected  DbEntityDescriptor descriptor
           
protected  java.lang.Object entity
           
protected  jodd.introspector.ClassDescriptor entityClassDescriptor
           
protected  java.util.Map<java.lang.String,java.lang.Object> queryParameters
           
 
Constructor Summary
DbEntitySearcher(java.lang.Object entity)
           
 
Method Summary
protected  boolean forEachField(java.lang.StringBuilder query, java.lang.reflect.Field field, java.lang.Object value)
          Builds condition for single non-null field.
 java.lang.String generateQuery()
          Generates SQL query.
 java.util.Map<java.lang.String,ColumnData> getColumnData()
          Returns an optional map of table and column names, used by ResultSetMapper.
 java.util.Map<java.lang.String,java.lang.Object> getQueryParameters()
          Returns a map of parameters used by generated query.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entity

protected final java.lang.Object entity

entityClassDescriptor

protected final jodd.introspector.ClassDescriptor entityClassDescriptor

dbOrm

protected final DbOrm dbOrm

descriptor

protected final DbEntityDescriptor descriptor

queryParameters

protected java.util.Map<java.lang.String,java.lang.Object> queryParameters
Constructor Detail

DbEntitySearcher

public DbEntitySearcher(java.lang.Object entity)
Method Detail

generateQuery

public java.lang.String generateQuery()
Generates SQL query.

Specified by:
generateQuery in interface DbSqlGenerator

forEachField

protected boolean forEachField(java.lang.StringBuilder query,
                               java.lang.reflect.Field field,
                               java.lang.Object value)
Builds condition for single non-null field. By default, all String values are using like operator. All collections are using in operator. All other type are using equals.

Returns:
true if condition query is generated, false otherwise.

getQueryParameters

public java.util.Map<java.lang.String,java.lang.Object> getQueryParameters()
Returns a map of parameters used by generated query. May be invoked only after the DbSqlGenerator.generateQuery().

Specified by:
getQueryParameters in interface DbSqlGenerator

getColumnData

public java.util.Map<java.lang.String,ColumnData> getColumnData()
Returns an optional map of table and column names, used by ResultSetMapper.

Specified by:
getColumnData in interface DbSqlGenerator


Copyright ©2008 Jodd Team