| 1 2 12 package com.versant.core.jdbc.sql.exp; 13 14 import com.versant.core.jdbc.sql.SqlDriver; 15 import com.versant.core.util.CharBuf; 16 17 import java.util.Map ; 18 19 22 public class UnaryFunctionExp extends UnaryExp { 23 24 public static final int FUNC_TO_LOWER_CASE = 1; 25 26 private int func; 27 28 public UnaryFunctionExp(SqlExp child, int func) { 29 super(child); 30 this.func = func; 31 } 32 33 public UnaryFunctionExp() { 34 } 35 36 public SqlExp createInstance() { 37 return new UnaryFunctionExp(); 38 } 39 40 public SqlExp getClone(SqlExp clone, Map cloneMap) { 41 super.getClone(clone, cloneMap); 42 43 ((UnaryFunctionExp) clone).func = func; 44 45 return clone; 46 } 47 48 public String toString() { 49 String s = super.toString() + " "; 50 switch (func) { 51 case FUNC_TO_LOWER_CASE: 52 return "toLowerCase(" + s + ")"; 53 } 54 return s + "unknown(" + func + ")"; 55 } 56 57 64 public void appendSQLImp(SqlDriver driver, CharBuf s, SqlExp leftSibling) { 65 s.append(driver.getSqlUnaryFunctionName(func)); 66 s.append('('); 67 childList.appendSQL(driver, s, null); 68 s.append(')'); 69 } 70 71 } 72 | Popular Tags |