} // getInt() private bool?getBoolean(string key) { object obj = get(key); if (obj == null) { return(null); } return(BooleanComparator.toBoolean(obj)); } // getBoolean()
} // select() protected object createOperand(string token, SelectItem leftSelectItem, bool searchSelectItems) { if (token.Equals("NULL", StringComparison.CurrentCultureIgnoreCase)) { return(null); } if (token.StartsWith("'") && token.EndsWith("'") && token.Length > 2) { string stringOperand = token.Substring(1, token.Length - 1); //[J2N] replaceAll <=> Replace stringOperand = stringOperand.Replace("\\\\'", "'"); return(stringOperand); } if (searchSelectItems) { SelectItem selectItem = findSelectItem(token, false); if (selectItem != null) { return(selectItem); } } ColumnType expectedColumnType = leftSelectItem.getExpectedColumnType(); object result = null; if (expectedColumnType == null) { // We're assuming number here, but it could also be boolean or a // time based type. But anyways, this should not happen since // expected column type should be available. result = NumberComparator.toNumber(token); } else if (expectedColumnType.isBoolean()) { result = BooleanComparator.toBoolean(token); } // else if (expectedColumnType.isTimeBased()) // { // result = FormatHelper.parseSqlTime(expectedColumnType, token); // } // else // { // result = NumberComparator.toNumber(token); // } // if (result == null) // { // // shouldn't happen since only "NULL" is parsed as null. // throw new QueryParserException("Could not parse operand: " + token); // } return(result); } // createOperand()