クラス org.objectweb.cjdbc.common.sql.AlterRequest

org.objectweb.cjdbc.common.sql.AlterRequestに対する継承グラフ

Inheritance graph
[凡例]
org.objectweb.cjdbc.common.sql.AlterRequestのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

説明

This class defines a AlterRequest

作者:
Nicolas Modrzyk
バージョン:
1.0

AlterRequest.java41 行で定義されています。

Public メソッド

 AlterRequest (String sqlQuery, boolean escapeProcessing, int timeout, String lineSeparator)
 AlterRequest (String sqlQuery, boolean escapeProcessing, int timeout, String lineSeparator, DatabaseSchema schema, int granularity, boolean isCaseSensitive) throws SQLException
boolean isReadRequest ()
boolean isWriteRequest ()
boolean isUnknownRequest ()
void parse (DatabaseSchema schema, int granularity, boolean isCaseSensitive) throws SQLException
void cloneParsing (AbstractRequest request)
boolean isAlter ()
boolean isCreate ()
boolean isDelete ()
boolean isDrop ()
boolean isInsert ()
boolean isUpdate ()
DatabaseTable getDatabaseTable ()
DatabaseColumn getColumn ()
boolean isAdd ()

Private 変数

transient DatabaseTable table = null
transient DatabaseColumn column = null
transient boolean isDrop = false
transient boolean isAdd = false


コンストラクタとデストラクタ

org.objectweb.cjdbc.common.sql.AlterRequest.AlterRequest String  sqlQuery,
boolean  escapeProcessing,
int  timeout,
String  lineSeparator
 

Creates a new AlterRequest instance. The caller must give an SQL request, without any leading or trailing spaces and beginning with 'alter table '

The request is not parsed but it can be done later by a call to parse(DatabaseSchema, int, boolean).

引数:
sqlQuery the SQL request
escapeProcessing should the driver to escape processing before sending to the database ?
timeout an int value
lineSeparator the line separator used in the query
参照:
parse
AlterRequest.java68 行で定義されています。
00070 { 00071 super(sqlQuery, escapeProcessing, timeout, lineSeparator); 00072 }

org.objectweb.cjdbc.common.sql.AlterRequest.AlterRequest String  sqlQuery,
boolean  escapeProcessing,
int  timeout,
String  lineSeparator,
DatabaseSchema  schema,
int  granularity,
boolean  isCaseSensitive
throws SQLException
 

Creates a new AlterRequest instance. The caller must give an SQL request, without any leading or trailing spaces and beginning with 'alter table '

If the syntax is incorrect an exception is thrown.

引数:
sqlQuery the SQL request
escapeProcessing should the driver to escape processing before sending to the database?
timeout an int value
lineSeparator the line separator used in the query
schema a DatabaseSchema value
granularity parsing granularity as defined in ParsingGranularities
isCaseSensitive true if parsing is case sensitive
例外:
SQLException if an error occurs
AlterRequest.java92 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AlterRequest.parse().

00095 { 00096 this(sqlQuery, escapeProcessing, timeout, lineSeparator); 00097 parse(schema, granularity, isCaseSensitive); 00098 }


メソッド

void org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing AbstractRequest  request  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractRequest.cloneParsing(org.objectweb.cjdbc.common.sql.AbstractRequest)

org.objectweb.cjdbc.common.sql.AbstractRequestを実装しています.

AlterRequest.java218 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AbstractWriteRequest.cloneTableNameAndColumns(), org.objectweb.cjdbc.common.sql.AlterRequest.column, org.objectweb.cjdbc.common.sql.AlterRequest.getColumn(), org.objectweb.cjdbc.common.sql.AlterRequest.getDatabaseTable(), org.objectweb.cjdbc.common.sql.AbstractRequest.isParsed, と org.objectweb.cjdbc.common.sql.AlterRequest.table.

00219 { 00220 if (!request.isParsed()) 00221 return; 00222 AlterRequest alterRequest = (AlterRequest) request; 00223 cloneTableNameAndColumns((AbstractWriteRequest) request); 00224 table = alterRequest.getDatabaseTable(); 00225 column = alterRequest.getColumn(); 00226 isParsed = true; 00227 }

DatabaseColumn org.objectweb.cjdbc.common.sql.AlterRequest.getColumn  ) 
 

Returns the column value.

戻り値:
Returns the column.
AlterRequest.java291 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AlterRequest.column.

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing(), と org.objectweb.cjdbc.controller.requestmanager.RequestManager.updateAndNotifyExecWriteRequest().

00292 { 00293 return column; 00294 }

DatabaseTable org.objectweb.cjdbc.common.sql.AlterRequest.getDatabaseTable  ) 
 

Returns the table value.

戻り値:
Returns the table.
AlterRequest.java282 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AlterRequest.table.

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing().

00283 { 00284 return table; 00285 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isAdd  ) 
 

Returns the isAdd value.

戻り値:
Returns the isAdd.
AlterRequest.java300 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AlterRequest.isAdd.

00301 { 00302 return isAdd; 00303 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isAlter  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isAlter()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java232 行で定義されています。

00233 { 00234 return true; 00235 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isCreate  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isCreate()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java240 行で定義されています。

00241 { 00242 return false; 00243 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isDelete  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isDelete()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java248 行で定義されています。

00249 { 00250 return false; 00251 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isDrop  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isDrop()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java256 行で定義されています。

00257 { 00258 return false; 00259 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isInsert  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isInsert()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java264 行で定義されています。

00265 { 00266 return false; 00267 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isReadRequest  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractRequest.isReadRequest()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを再定義しています。

AlterRequest.java103 行で定義されています。

00104 { 00105 return false; 00106 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isUnknownRequest  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractRequest.isUnknownRequest()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを再定義しています。

AlterRequest.java119 行で定義されています。

00120 { 00121 return false; 00122 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isUpdate  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractWriteRequest.isUpdate()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを実装しています.

AlterRequest.java272 行で定義されています。

00273 { 00274 return false; 00275 }

boolean org.objectweb.cjdbc.common.sql.AlterRequest.isWriteRequest  )  [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractRequest.isWriteRequest()

org.objectweb.cjdbc.common.sql.AbstractWriteRequestを再定義しています。

AlterRequest.java111 行で定義されています。

00112 { 00113 return true; 00114 }

void org.objectweb.cjdbc.common.sql.AlterRequest.parse DatabaseSchema  schema,
int  granularity,
boolean  isCaseSensitive
throws SQLException [virtual]
 

参照:
org.objectweb.cjdbc.common.sql.AbstractRequest.parse(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema, int, boolean)

org.objectweb.cjdbc.common.sql.AbstractRequestを実装しています.

AlterRequest.java128 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AlterRequest.column, org.objectweb.cjdbc.common.sql.AlterRequest.isAdd, org.objectweb.cjdbc.common.sql.AlterRequest.isDrop, と org.objectweb.cjdbc.common.sql.AlterRequest.table.

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.AlterRequest().

00130 { 00131 /* 00132 * Example Alter statement: ALTER TABLE table_name ADD column_name datatype 00133 * ALTER TABLE table_name DROP COLUMN column_name 00134 */ 00135 00136 if (granularity == ParsingGranularities.NO_PARSING) 00137 { 00138 isParsed = true; 00139 return; 00140 } 00141 00142 String originalSQL = this.trimCarriageReturn(); 00143 String sql = originalSQL.toLowerCase(); 00144 00145 // Strip 'alter table ' 00146 int tableIdx = sql.indexOf("table"); 00147 if (tableIdx == -1) 00148 throw new SQLException( 00149 "Malformed Alter Request. Should start with [ALTER TABLE]"); 00150 sql = sql.substring(tableIdx + 5).trim(); 00151 00152 // Does the query contain a add? 00153 int addIdx = sql.indexOf(" add "); 00154 00155 // Does the query contain a drop? 00156 int dropIdx = sql.indexOf(" drop "); 00157 00158 if (addIdx != -1) 00159 isAdd = true; 00160 if (dropIdx != -1) 00161 isDrop = true; 00162 00163 if (!isAdd && !isDrop) 00164 throw new SQLException( 00165 "Malformed Alter Request. No drop or add condition"); 00166 00167 if (isCaseSensitive) // Reverse to the original case 00168 sql = originalSQL.substring(originalSQL.length() - sql.length()); 00169 00170 int index = (isAdd) ? addIdx : dropIdx; 00171 00172 tableName = sql.substring(0, index).trim(); 00173 table = new DatabaseTable(tableName); 00174 00175 00176 if (granularity > ParsingGranularities.TABLE) 00177 { 00178 00179 00180 int subsIndex = index + 6 + 2; // index + 00181 // column.length() 00182 // + space 00183 if (isAdd) 00184 subsIndex += 3; 00185 else 00186 // Drop 00187 subsIndex += 4; 00188 00189 columns = new ArrayList(); 00190 sql = sql.substring(subsIndex).trim(); 00191 00192 if (isAdd) 00193 { 00194 int colIndex = sql.indexOf(' '); 00195 String colName = sql.substring(0, colIndex); 00196 00197 int uniqueIndex = sql.toLowerCase().indexOf("unique"); 00198 int primary = sql.toLowerCase().indexOf("primary"); 00199 if (uniqueIndex != -1 || primary != -1) 00200 column = new DatabaseColumn(colName, true); 00201 else 00202 column = new DatabaseColumn(colName, false); 00203 columns.add(new TableColumn(tableName, colName)); 00204 } 00205 else if (isDrop) 00206 { 00207 String colName = sql.trim(); 00208 column = schema.getTable(tableName).getColumn(colName); 00209 columns.add(new TableColumn(tableName, colName)); 00210 } 00211 } 00212 isParsed = true; 00213 }


変数

transient DatabaseColumn org.objectweb.cjdbc.common.sql.AlterRequest.column = null [private]
 

The column altered AlterRequest.java48 行で定義されています。

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.AlterRequest.getColumn(), と org.objectweb.cjdbc.common.sql.AlterRequest.parse().

transient boolean org.objectweb.cjdbc.common.sql.AlterRequest.isAdd = false [private]
 

AlterRequest.java51 行で定義されています。

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.isAdd(), org.objectweb.cjdbc.common.sql.AlterRequest.parse(), と org.objectweb.cjdbc.controller.requestmanager.RequestManager.updateAndNotifyExecWriteRequest().

transient boolean org.objectweb.cjdbc.common.sql.AlterRequest.isDrop = false [private]
 

AlterRequest.java50 行で定義されています。

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.parse(), と org.objectweb.cjdbc.controller.requestmanager.RequestManager.updateAndNotifyExecWriteRequest().

transient DatabaseTable org.objectweb.cjdbc.common.sql.AlterRequest.table = null [private]
 

The table to alter. AlterRequest.java45 行で定義されています。

参照元 org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.AlterRequest.getDatabaseTable(), と org.objectweb.cjdbc.common.sql.AlterRequest.parse().


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0.4に対してTue Oct 12 15:16:16 2004に生成されました。 doxygen 1.3.8