クラス org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule

org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRuleに対する継承グラフ

Inheritance graph
[凡例]
org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRuleのコラボレーション図

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

説明

This class defines a SimpleRewritingRule

作者:
Emmanuel Cecchet
バージョン:
1.0

SimpleRewritingRule.java33 行で定義されています。

Public メソッド

 SimpleRewritingRule (String queryPattern, String rewrite, boolean caseSensitive, boolean stopOnMatch)
String rewrite (String sqlQuery)

Private 変数

int queryPatternLength


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

org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.SimpleRewritingRule String  queryPattern,
String  rewrite,
boolean  caseSensitive,
boolean  stopOnMatch
 

Creates a new SimpleRewritingRule.java object

引数:
queryPattern SQL pattern to match
rewrite rewritten SQL query
caseSensitive true if matching is case sensitive
stopOnMatch true if rewriting must stop after this rule if it matches.
SimpleRewritingRule.java47 行で定義されています。

参照先 org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.queryPatternLength.

00049 { 00050 super(queryPattern, caseSensitive ? rewrite : rewrite.toLowerCase(), 00051 caseSensitive, stopOnMatch); 00052 queryPatternLength = queryPattern.length(); 00053 }


メソッド

String org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.rewrite String  sqlQuery  )  [virtual]
 

参照:
org.objectweb.cjdbc.controller.backend.rewriting.AbstractRewritingRule.rewrite(java.lang.String)

org.objectweb.cjdbc.controller.backend.rewriting.AbstractRewritingRuleを実装しています.

SimpleRewritingRule.java58 行で定義されています。

参照先 org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.queryPatternLength, と org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.rewrite().

参照元 org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.rewrite().

00059 { 00060 // Check first if it is a match 00061 int start; 00062 if (isCaseSensitive) 00063 start = sqlQuery.indexOf(queryPattern); 00064 else 00065 start = sqlQuery.toLowerCase().indexOf(queryPattern); 00066 if (start == -1) 00067 { // No match 00068 hasMatched = false; 00069 return sqlQuery; 00070 } 00071 // Match, rewrite the query 00072 hasMatched = true; 00073 if (start == 0) 00074 { 00075 if (queryPatternLength < sqlQuery.length()) 00076 // Match at the beginning of the pattern 00077 return rewrite + sqlQuery.substring(queryPatternLength); 00078 else 00079 // The query was exactly the pattern 00080 return rewrite; 00081 } 00082 else 00083 { 00084 if (start + queryPatternLength < sqlQuery.length()) 00085 return sqlQuery.substring(0, start) + rewrite 00086 + sqlQuery.substring(start + queryPatternLength); 00087 else 00088 // Match at the end of the pattern 00089 return sqlQuery.substring(0, start) + rewrite; 00090 } 00091 }


変数

int org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.queryPatternLength [private]
 

SimpleRewritingRule.java36 行で定義されています。

参照元 org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.rewrite(), と org.objectweb.cjdbc.controller.backend.rewriting.SimpleRewritingRule.SimpleRewritingRule().


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