Produced by Siminov Software Solution

siminov.orm.database
Class QueryBuilder

java.lang.Object
  extended by siminov.orm.database.QueryBuilder
All Implemented Interfaces:
Constants

public abstract class QueryBuilder
extends java.lang.Object
implements Constants


Field Summary
 
Fields inherited from interface siminov.orm.Constants
ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTIES_METHOD_GET_PROPERTIES, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_CHECK, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_DEFAULT, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_METHOD_GET_NAME, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_METHOD_GET_VALUE, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_NOT_NULL, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_PRIMARY_KEY, ANNOTATION_DATABASE_MAPPING_COLUMN_PROPERTY_UNIQUE, ANNOTATION_DATABASE_MAPPING_INDEX_COLUMN_METHOD_GET_COLUMN, ANNOTATION_DATABASE_MAPPING_INDEX_METHOD_GET_IS_UNIQUE, ANNOTATION_DATABASE_MAPPING_INDEX_METHOD_GET_NAME, ANNOTATION_DATABASE_MAPPING_INDEX_METHOD_GET_VALUE, ANNOTATION_DATABASE_MAPPING_INDEXES_METHOD_GET_VALUES, ANNOTATION_DATABASE_MAPPING_METHOD_GET_COLUMN_NAME, ANNOTATION_DATABASE_MAPPING_METHOD_GET_TABLE_NAME, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_ON_DELETE_ATTRIBUTE, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_ON_UPDATE_ATTRIBUTE, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_PROPERTIES_METHOD_GET_PROPERTIES, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_PROPERTY_LOAD, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_PROPERTY_METHOD_GET_NAME, ANNOTATION_DATABASE_MAPPING_RELATIONSHIP_PROPERTY_METHOD_GET_VALUE, APPLICATION_DESCRIPTOR_DATABASE_DESCRIPTOR, APPLICATION_DESCRIPTOR_DATABASE_DESCRIPTORS, APPLICATION_DESCRIPTOR_DESCRIPTION, APPLICATION_DESCRIPTOR_EVENT_HANDLER, APPLICATION_DESCRIPTOR_EVENT_HANDLERS, APPLICATION_DESCRIPTOR_FILE_NAME, APPLICATION_DESCRIPTOR_LOAD_INITIALLY, APPLICATION_DESCRIPTOR_NAME, APPLICATION_DESCRIPTOR_PROPERTY, APPLICATION_DESCRIPTOR_SIMINOV, APPLICATION_DESCRIPTOR_VERSION, DATABASE_DESCRIPTOR, DATABASE_DESCRIPTOR_DATABASE_IMPLEMENTER, DATABASE_DESCRIPTOR_DATABASE_MAPPING, DATABASE_DESCRIPTOR_DATABASE_MAPPINGS, DATABASE_DESCRIPTOR_DATABASE_NAME, DATABASE_DESCRIPTOR_DESCRIPTION, DATABASE_DESCRIPTOR_EXTERNAL_STORAGE, DATABASE_DESCRIPTOR_IS_LOCKING_REQUIRED, DATABASE_DESCRIPTOR_LIBRARIES, DATABASE_DESCRIPTOR_LIBRARY, DATABASE_DESCRIPTOR_NAME, DATABASE_DESCRIPTOR_PASSWORD, DATABASE_DESCRIPTOR_PATH, DATABASE_DESCRIPTOR_PROPERTY, DATABASE_MAPPING_DESCRIPTOR_CHECK, DATABASE_MAPPING_DESCRIPTOR_CLASS_NAME, DATABASE_MAPPING_DESCRIPTOR_COLUMN, DATABASE_MAPPING_DESCRIPTOR_COLUMN_NAME, DATABASE_MAPPING_DESCRIPTOR_DATABASE_MAPPING, DATABASE_MAPPING_DESCRIPTOR_DEFAULT_VALUE, DATABASE_MAPPING_DESCRIPTOR_INDEX, DATABASE_MAPPING_DESCRIPTOR_NAME, DATABASE_MAPPING_DESCRIPTOR_NOT_NULL, DATABASE_MAPPING_DESCRIPTOR_NOT_NULL_FALSE, DATABASE_MAPPING_DESCRIPTOR_NOT_NULL_TRUE, DATABASE_MAPPING_DESCRIPTOR_PRIMARY_KEY, DATABASE_MAPPING_DESCRIPTOR_PROPERTY, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_CASCADE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_LOAD, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_LOAD_FALSE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_LOAD_TRUE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_MANY_TO_MANY, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_MANY_TO_ONE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_NO_ACTION, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_ON_DELETE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_ON_UPDATE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_ONE_TO_MANY, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_ONE_TO_ONE, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_REFER, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_REFER_TO, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_RESTRICT, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_SET_DEFAULT, DATABASE_MAPPING_DESCRIPTOR_RELATIONSHIPS_SET_NULL, DATABASE_MAPPING_DESCRIPTOR_TABLE, DATABASE_MAPPING_DESCRIPTOR_TABLE_NAME, DATABASE_MAPPING_DESCRIPTOR_TYPE, DATABASE_MAPPING_DESCRIPTOR_UNIQUE, DATABASE_MAPPING_DESCRIPTOR_UNIQUE_FALSE, DATABASE_MAPPING_DESCRIPTOR_UNIQUE_TRUE, DATABASE_MAPPING_DESCRIPTOR_VARIABLE_NAME, DATABASE_PATH_DATA, DATABASE_PATH_DATABASE, FALSE, LIBRARY_DESCRIPTOR_DATABASE_MAPPING, LIBRARY_DESCRIPTOR_DATABASE_MAPPINGS, LIBRARY_DESCRIPTOR_DESCRIPTION, LIBRARY_DESCRIPTOR_FILE_NAME, LIBRARY_DESCRIPTOR_LIBRARY, LIBRARY_DESCRIPTOR_NAME, LIBRARY_DESCRIPTOR_PATH, LIBRARY_DESCRIPTOR_PROPERTY, QUERY_BUILDER_CASCADE, QUERY_BUILDER_IS_NULL, QUERY_BUILDER_NO_ACTION, QUERY_BUILDER_ON_DELETE, QUERY_BUILDER_ON_UPDATE, QUERY_BUILDER_RESTRICT, QUERY_BUILDER_SET_DEFAULT, QUERY_BUILDER_SET_NULL, SIMINOV_DESCRIPTOR_EXTENSION, SQLITE_DATA_TYPE_INTEGER, SQLITE_DATA_TYPE_NONE, SQLITE_DATA_TYPE_NUMERIC, SQLITE_DATA_TYPE_REAL, SQLITE_DATA_TYPE_TEXT, SQLITE_DATABASE_BEGIN_TRANSACTION, SQLITE_DATABASE_COMMIT_TRANSACTION, SQLITE_DATABASE_ENABLE_LOCKING, SQLITE_DATABASE_END_TRANSACTION, SQLITE_DATABASE_EXTENSION, SQLITE_DATABASE_QUERY_TO_ENABLE_FOREIGN_KEYS_MAPPING, TRUE, XML_FILE_EXTENSION
 
Constructor Summary
QueryBuilder()
           
 
Method Summary
static java.lang.String formAvgQuery(java.lang.String tableName, java.lang.String columnName)
          It generates query to get average of column.
static java.lang.String formCountQuery(java.lang.String tableName, java.lang.String whereClause)
          It generated query to get count of tuples from table based on condition provided.
static java.lang.String formCreateIndexQuery(java.lang.String indexName, java.lang.String tableName, java.util.Iterator<java.lang.String> columnNames, boolean isUnique)
          It generates query to create index on table specified.
static java.lang.String formCreateTableQuery(java.lang.String tableName, java.util.Iterator<java.lang.String> columnNames, java.util.Iterator<java.lang.String> columnTypes, java.util.Iterator<java.lang.String> defaultValues, java.util.Iterator<java.lang.String> checks, java.util.Iterator<java.lang.String> primaryKeys, java.util.Iterator<java.lang.Boolean> isNotNull, java.util.Iterator<java.lang.String> uniqueColumns, java.lang.String foreignKeys)
          It generates query to create table in database.
static java.lang.String formDeleteQuery(java.lang.String tableName, java.lang.String whereClause)
          It generates query to delete tuple from table.
static java.lang.String formDropIndexQuery(java.lang.String tableName, java.lang.String indexName)
          It generates query to drop index from table.
static java.lang.String formDropTableQuery(java.lang.String tableName)
          It generates query to drop table from database.
static java.lang.String formFetchQuery(java.lang.String tableName, java.lang.String whereClause, java.util.Iterator<java.lang.String> columnNames, java.util.Iterator<java.lang.String> groupBys, java.lang.String having, java.util.Iterator<java.lang.String> orderBy, java.lang.String limit)
          It generated query to fetch tuples from table.
static java.lang.String formForeignKeys(DatabaseMappingDescriptor child)
          It generates query to create foreign keys in table.
static java.lang.String formGroupConcatQuery(java.lang.String tableName, java.lang.String columnName, java.lang.String delimiter, java.lang.String whereClause)
          It generates query to get group concat value.
static java.lang.String formInsertBindQuery(java.lang.String tableName, java.util.Iterator<java.lang.String> columnNames)
          It generates bind query to insert tuple in table.
static java.lang.String formMaxQuery(java.lang.String tableName, java.lang.String columnName, java.lang.String groupBy)
          It generates query to get maximum value of column based on group.
static java.lang.String formMinQuery(java.lang.String tableName, java.lang.String columnName, java.lang.String groupBy)
          It generates query to get minimum value of column based on group by clause.
static java.lang.String formSumQuery(java.lang.String tableName, java.lang.String columnName)
          It generates query to get sum of column values.
static java.lang.String formTotalQuery(java.lang.String tableName, java.lang.String columnName)
          It generates query to get total of a column.
static java.lang.String formTriggerOnDeleteCascade(java.lang.String triggerName, java.lang.String parentTable, java.lang.String childTable, java.util.Iterator<java.lang.String> foreignKeys)
          It generates query to create trigger to put cascade delete constraint on table.
static java.lang.String formTriggerOnDeleteOrUpdateSetNull(java.lang.String triggerName, java.lang.String parentTable, java.lang.String childTable, java.util.Iterator<java.lang.String> foreignKeys)
          It generates query to create trigger to put set null update constraint on table.
static java.lang.String formTriggerOnInsertEnforceReferentialIntegrity(java.lang.String triggerName, java.lang.String parentTable, java.lang.String childTable, java.util.Iterator<java.lang.String> foreignKeys)
          It generates query to create trigger to put delete referential integrity.
static java.lang.String formTriggerOnUpdateCascade(java.lang.String triggerName, java.lang.String parentTable, java.lang.String childTable, java.util.Iterator<java.lang.String> foreignKeys)
          It generates query to create trigger to put cascade update constraint on table.
static java.lang.String formTriggerOnUpdateEnforceReferentialIntegrity(java.lang.String triggerName, java.lang.String parentTable, java.lang.String childTable, java.util.Iterator<java.lang.String> foreignKeys)
          It generates query to create trigger to put update referential integrity.
static java.util.Iterator<java.lang.String> formTriggers(DatabaseMappingDescriptor child)
          It generates query to create trigger based on parameters provided.
static java.lang.String formUpdateBindQuery(java.lang.String tableName, java.util.Iterator<java.lang.String> columnNames, java.lang.String whereClause)
          It generates bind query to update tuple in table.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryBuilder

public QueryBuilder()
Method Detail

formCreateTableQuery

public static java.lang.String formCreateTableQuery(java.lang.String tableName,
                                                    java.util.Iterator<java.lang.String> columnNames,
                                                    java.util.Iterator<java.lang.String> columnTypes,
                                                    java.util.Iterator<java.lang.String> defaultValues,
                                                    java.util.Iterator<java.lang.String> checks,
                                                    java.util.Iterator<java.lang.String> primaryKeys,
                                                    java.util.Iterator<java.lang.Boolean> isNotNull,
                                                    java.util.Iterator<java.lang.String> uniqueColumns,
                                                    java.lang.String foreignKeys)
It generates query to create table in database.

Parameters:
tableName - Name of table.
columnNames - All column names needed in table.
columnTypes - All column types, It can be TEXT, INTEGER, LONG, BLOG, FLOAT
defaultValues - Default value columns.
checks - Constraint needed on column value.
primaryKeys - Primary keys needed in table.
isNotNull - Weather column can contain empty value or not.
uniqueColumns - Weather column values should be unique or not.
foreignKeys - Foreign key contained in table.
Returns:
Generated query.

formCreateIndexQuery

public static java.lang.String formCreateIndexQuery(java.lang.String indexName,
                                                    java.lang.String tableName,
                                                    java.util.Iterator<java.lang.String> columnNames,
                                                    boolean isUnique)
It generates query to create index on table specified.

Parameters:
indexName - Name of index.
tableName - Name of table on which index is required.
columnNames - Column names needed in index.
isUnique - true/false whether index needs to be unique or not. (A unique index guarantees that the index key contains no duplicate values and therefore every row in the table is in some way unique.)
Returns:
Generated query.

formDropTableQuery

public static java.lang.String formDropTableQuery(java.lang.String tableName)
It generates query to drop table from database.

Parameters:
tableName - Name of table.
Returns:
Generated query.

formDropIndexQuery

public static java.lang.String formDropIndexQuery(java.lang.String tableName,
                                                  java.lang.String indexName)
It generates query to drop index from table.

Parameters:
tableName - Name of table.
indexName - Name of index.
Returns:
Generated query.

formFetchQuery

public static java.lang.String formFetchQuery(java.lang.String tableName,
                                              java.lang.String whereClause,
                                              java.util.Iterator<java.lang.String> columnNames,
                                              java.util.Iterator<java.lang.String> groupBys,
                                              java.lang.String having,
                                              java.util.Iterator<java.lang.String> orderBy,
                                              java.lang.String limit)
It generated query to fetch tuples from table.

Parameters:
tableName - Name of table.
whereClause - Condition based on tuples need to fetch.
columnNames - Column names.
groupBys - Group by clause.
having - Having clause.
orderBy - Order by column names.
limit - Limit of tuples needed.
Returns:
Generated query.

formInsertBindQuery

public static java.lang.String formInsertBindQuery(java.lang.String tableName,
                                                   java.util.Iterator<java.lang.String> columnNames)
It generates bind query to insert tuple in table.

Parameters:
tableName - Name of table.
columnNames - Column names.
Returns:
Generated query.

formUpdateBindQuery

public static java.lang.String formUpdateBindQuery(java.lang.String tableName,
                                                   java.util.Iterator<java.lang.String> columnNames,
                                                   java.lang.String whereClause)
It generates bind query to update tuple in table.

Parameters:
tableName - Name of table.
columnNames - Column names.
whereClause - Condition of which tuple need to be update.
Returns:
Generated query.

formDeleteQuery

public static java.lang.String formDeleteQuery(java.lang.String tableName,
                                               java.lang.String whereClause)
It generates query to delete tuple from table.

Parameters:
tableName - Name of table.
whereClause - Condition on which tuples need to delete.
Returns:
Generated query.

formCountQuery

public static java.lang.String formCountQuery(java.lang.String tableName,
                                              java.lang.String whereClause)
It generated query to get count of tuples from table based on condition provided.

Parameters:
tableName - Name of table.
whereClause - Condition on which count needed.
Returns:
Generated query.

formAvgQuery

public static java.lang.String formAvgQuery(java.lang.String tableName,
                                            java.lang.String columnName)
It generates query to get average of column.

Parameters:
tableName - Name of table.
columnName - Column name of which average needed.
Returns:
Generated query.

formMaxQuery

public static java.lang.String formMaxQuery(java.lang.String tableName,
                                            java.lang.String columnName,
                                            java.lang.String groupBy)
It generates query to get maximum value of column based on group.

Parameters:
tableName - Name of table.
columnName - Column name of which maximum value needed.
groupBy - Group by clause.
Returns:
Generated query.

formMinQuery

public static java.lang.String formMinQuery(java.lang.String tableName,
                                            java.lang.String columnName,
                                            java.lang.String groupBy)
It generates query to get minimum value of column based on group by clause.

Parameters:
tableName - Name of table.
columnName - Column name of which minimum value needed.
groupBy - Group by clause.
Returns:
Generated query.

formGroupConcatQuery

public static java.lang.String formGroupConcatQuery(java.lang.String tableName,
                                                    java.lang.String columnName,
                                                    java.lang.String delimiter,
                                                    java.lang.String whereClause)
It generates query to get group concat value.

Parameters:
tableName - Name of table.
columnName - Column name of which group concat needed.
delimiter - Delimiter value.
whereClause - Condition on which group concat needed.
Returns:
Generated query.

formSumQuery

public static java.lang.String formSumQuery(java.lang.String tableName,
                                            java.lang.String columnName)
It generates query to get sum of column values.

Parameters:
tableName - Name of table.
columnName - Column name of which sum needed.
Returns:
Generated query.

formTotalQuery

public static java.lang.String formTotalQuery(java.lang.String tableName,
                                              java.lang.String columnName)
It generates query to get total of a column.

Parameters:
tableName - Name of table.
columnName - Column name of which total needed.
Returns:
Generated query.

formTriggerOnUpdateCascade

public static java.lang.String formTriggerOnUpdateCascade(java.lang.String triggerName,
                                                          java.lang.String parentTable,
                                                          java.lang.String childTable,
                                                          java.util.Iterator<java.lang.String> foreignKeys)
It generates query to create trigger to put cascade update constraint on table.

Parameters:
triggerName - Name of trigger needed.
parentTable - Name of parent table.
childTable - Name of child table.
parentKeys - Column names of parent table.
childKeys - Column names of child table.
Returns:
Generated query.

formTriggerOnDeleteOrUpdateSetNull

public static java.lang.String formTriggerOnDeleteOrUpdateSetNull(java.lang.String triggerName,
                                                                  java.lang.String parentTable,
                                                                  java.lang.String childTable,
                                                                  java.util.Iterator<java.lang.String> foreignKeys)
It generates query to create trigger to put set null update constraint on table.

Parameters:
triggerName - Name of trigger needed.
parentTable - Name of parent table.
childTable - Name of child table.
parentKeys - Column names of parent table.
childKeys - Column names of child table.
Returns:
Generated query.

formTriggerOnUpdateEnforceReferentialIntegrity

public static java.lang.String formTriggerOnUpdateEnforceReferentialIntegrity(java.lang.String triggerName,
                                                                              java.lang.String parentTable,
                                                                              java.lang.String childTable,
                                                                              java.util.Iterator<java.lang.String> foreignKeys)
It generates query to create trigger to put update referential integrity.

Parameters:
triggerName - Name of table.
parentTable - Name of parent table.
childTable - Name of child table.
parentKeys - Column names of parent table.
childKeys - Column names of child table.
Returns:
Generated query.

formTriggerOnInsertEnforceReferentialIntegrity

public static java.lang.String formTriggerOnInsertEnforceReferentialIntegrity(java.lang.String triggerName,
                                                                              java.lang.String parentTable,
                                                                              java.lang.String childTable,
                                                                              java.util.Iterator<java.lang.String> foreignKeys)
It generates query to create trigger to put delete referential integrity.

Parameters:
triggerName - Name of table.
parentTable - Name of parent table.
childTable - Name of child table.
parentKeys - Column names of parent table.
childKeys - Column names of child table.
Returns:
Generated query.

formTriggerOnDeleteCascade

public static java.lang.String formTriggerOnDeleteCascade(java.lang.String triggerName,
                                                          java.lang.String parentTable,
                                                          java.lang.String childTable,
                                                          java.util.Iterator<java.lang.String> foreignKeys)
It generates query to create trigger to put cascade delete constraint on table.

Parameters:
triggerName - Name of trigger needed.
parentTable - Name of parent table.
childTable - Name of child table.
parentKeys - Column names of parent table.
childKeys - Column names of child table.
Returns:
Generated query.

formTriggers

public static java.util.Iterator<java.lang.String> formTriggers(DatabaseMappingDescriptor child)
It generates query to create trigger based on parameters provided.

Parameters:
childTable - Name of child table.
relationships - References provided to create triggers.
Returns:
Generated query.

formForeignKeys

public static java.lang.String formForeignKeys(DatabaseMappingDescriptor child)
It generates query to create foreign keys in table.

Parameters:
relationships - References provided to create foreign key.
Returns:
Generated query.

Apache License 2.0

Copyright 2013