001 002 003 004 //Source File Name: ZInsert.java 005 006 package railo.runtime.sql.old; 007 008 import java.util.Vector; 009 010 011 // ZExpression, ZQuery, ZStatement, ZExp 012 013 public final class ZInsert 014 implements ZStatement 015 { 016 017 public ZInsert(String s) 018 { 019 columns_ = null; 020 valueSpec_ = null; 021 table_ = new String(s); 022 } 023 024 public String getTable() 025 { 026 return table_; 027 } 028 029 public Vector getColumns() 030 { 031 return columns_; 032 } 033 034 public void addColumns(Vector vector) 035 { 036 columns_ = vector; 037 } 038 039 public void addValueSpec(ZExp zexp) 040 { 041 valueSpec_ = zexp; 042 } 043 044 public Vector getValues() 045 { 046 if(!(valueSpec_ instanceof ZExpression)) 047 return null; 048 return ((ZExpression)valueSpec_).getOperands(); 049 } 050 051 public ZQuery getQuery() 052 { 053 if(!(valueSpec_ instanceof ZQuery)) 054 return null; 055 return (ZQuery)valueSpec_; 056 } 057 058 public String toString() 059 { 060 StringBuffer stringbuffer = new StringBuffer("insert into " + table_); 061 if(columns_ != null && columns_.size() > 0) 062 { 063 stringbuffer.append("(" + columns_.elementAt(0)); 064 for(int i = 1; i < columns_.size(); i++) 065 stringbuffer.append("," + columns_.elementAt(i)); 066 067 stringbuffer.append(")"); 068 } 069 String s = valueSpec_.toString(); 070 stringbuffer.append(" "); 071 if(getValues() != null) 072 stringbuffer.append("values "); 073 if(s.startsWith("(")) 074 stringbuffer.append(s); 075 else 076 stringbuffer.append(" (" + s + ")"); 077 return stringbuffer.toString(); 078 } 079 080 String table_; 081 Vector columns_; 082 ZExp valueSpec_; 083 }