org.kuali.rice.core.jdbc
Class SqlBuilder
java.lang.Object
org.kuali.rice.core.jdbc.SqlBuilder
public class SqlBuilder
- extends Object
This is a description of what this class does - Garey don't forget to fill this in.
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
Method Summary |
void |
addCriteria(String propertyName,
String propertyValue,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria criteria)
|
void |
andCriteria(Criteria addToThisCriteria,
Criteria newCriteria)
|
void |
andCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria addToThisCriteria)
|
static String |
cleanDate(String string)
|
static String |
cleanNumeric(String value)
|
static String |
cleanNumericOfValidOperators(String string)
|
static boolean |
containsRangeCharacters(String string)
|
Criteria |
createCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType)
|
Criteria |
createCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards)
|
static List<String> |
getCleanedSearchableValues(String valueEntered,
String propertyDataType)
This method splits the values then cleans them of any other query characters like *?!><... |
protected DateTimeService |
getDateTimeService()
|
DatabasePlatform |
getDbPlatform()
|
protected static void |
getSearchableValueRecursive(String valueEntered,
List lRet)
|
static List<String> |
getSearchableValues(String valueEntered)
This method splits the valueEntered on locical operators and, or, and between |
boolean |
isValidDate(String dateString)
|
static boolean |
isValidNumber(String value)
|
void |
orCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria addToThisCriteria)
|
void |
setDateTimeService(DateTimeService dateTimeService)
|
void |
setDbPlatform(DatabasePlatform dbPlatform)
|
static BigDecimal |
stringToBigDecimal(String value)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SqlBuilder
public SqlBuilder()
createCriteria
public Criteria createCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType)
createCriteria
public Criteria createCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards)
andCriteria
public void andCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria addToThisCriteria)
andCriteria
public void andCriteria(Criteria addToThisCriteria,
Criteria newCriteria)
orCriteria
public void orCriteria(String columnName,
String searchValue,
String tableName,
String tableAlias,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria addToThisCriteria)
addCriteria
public void addCriteria(String propertyName,
String propertyValue,
Class propertyType,
boolean caseInsensitive,
boolean allowWildcards,
Criteria criteria)
- See Also:
public Object findObjectByMap(Object example, Map formProps) {
Criteria jpaCriteria = new Criteria(example.getClass().getName());
Iterator propsIter = formProps.keySet().iterator();
while (propsIter.hasNext()) {
String propertyName = (String) propsIter.next();
String searchValue = "";
if (formProps.get(propertyName) != null) {
searchValue = (formProps.get(propertyName)).toString();
}
if (StringUtils.isNotBlank(searchValue) & PropertyUtils.isWriteable(example, propertyName)) {
Class propertyType = ObjectUtils.getPropertyType(example, propertyName, persistenceStructureService);
if (TypeUtils.isIntegralClass(propertyType) || TypeUtils.isDecimalClass(propertyType)) {
if (propertyType.equals(Long.class)) {
jpaCriteria.eq(propertyName, new Long(searchValue));
} else {
jpaCriteria.eq(propertyName, new Integer(searchValue));
}
} else if (TypeUtils.isTemporalClass(propertyType)) {
jpaCriteria.eq(propertyName, parseDate(ObjectUtils.clean(searchValue)));
} else {
jpaCriteria.eq(propertyName, searchValue);
}
}
}
return new QueryByCriteria(entityManager, jpaCriteria).toQuery().getSingleResult();
}
isValidDate
public boolean isValidDate(String dateString)
cleanDate
public static String cleanDate(String string)
containsRangeCharacters
public static boolean containsRangeCharacters(String string)
isValidNumber
public static boolean isValidNumber(String value)
cleanNumericOfValidOperators
public static String cleanNumericOfValidOperators(String string)
cleanNumeric
public static String cleanNumeric(String value)
stringToBigDecimal
public static BigDecimal stringToBigDecimal(String value)
getDateTimeService
protected DateTimeService getDateTimeService()
setDateTimeService
public void setDateTimeService(DateTimeService dateTimeService)
- Parameters:
dateTimeService
- the dateTimeService to set
getDbPlatform
public DatabasePlatform getDbPlatform()
setDbPlatform
public void setDbPlatform(DatabasePlatform dbPlatform)
getCleanedSearchableValues
public static List<String> getCleanedSearchableValues(String valueEntered,
String propertyDataType)
- This method splits the values then cleans them of any other query characters like *?!><...
- Parameters:
valueEntered
- propertyDataType
-
- Returns:
getSearchableValues
public static List<String> getSearchableValues(String valueEntered)
- This method splits the valueEntered on locical operators and, or, and between
- Parameters:
valueEntered
-
- Returns:
getSearchableValueRecursive
protected static void getSearchableValueRecursive(String valueEntered,
List lRet)
Copyright © 2004-2012 The Kuali Foundation. All Rights Reserved.