com.infoteria.asteria.flowbuilder2.plugin
Class SQLTool

java.lang.Object
  |
  +--com.infoteria.asteria.flowbuilder2.plugin.SQLTool

public class SQLTool
extends Object

SQLBuilderなどのダイアログをPluginから使用するためのユーティリティクラスです。
SQLBuilderのクラスをASTERIA Designer用のクラスに変換するためのstaticメソッドと サーバーに接続してコネクション情報を取得するためのインスタンスメソッドがあります。


Method Summary
static SQLBuilderDialog createSQLBuilderDialog(String title, TableProvider provider, SQLBuilder builder)
          RDBGetコンポーネントで使用しているSQLBuilderを作成します。
static TableSelectDialog createTableSelectDialog(String title, TableProvider provider)
          RDBPutコンポーネントで使用しているテーブル選択ダイアログを作成します。
static SQLOption getDefaultSQLOption()
          デフォルトのSQLOptionを取得します。
 com.infoteria.asteria.util.rdb.ColumnInfo[] getTableFields(String connectionName, String tblname)
          コネクション名とテーブル名を指定してテーブルのフィールド一覧を返します。
 String[] getTableNames(String connectionName)
          コネクション名に対応するテーブル一覧を返します。
 TableProvider getTableProvider(String connectionName)
          コネクション名を指定してそれに対応するTableProviderを取得します。
static void setDefaultSQLOption(SQLOption option)
          デフォルトのSQLOptionを設定します。
static FieldDefinition sqlToFieldDefinition(SQLBuilder builder, String sql)
          SELECT文を分析してFieldDefinitionを作成します。
static UndoableEdit updateCategoryProperty(CategoryProperty prop, Table table)
          第一引数のCategoryPropertyに第2引数のTable情報を反映します。
返り値はUndo情報ですのでイベントのaddUndoメソッドに渡してください。
(propとtableが同じ内容であった場合はnullが返ります。
static UndoableEdit updateFieldDefinition(FieldDefinition fd, String sql, ColumnList select)
          SQLBuilderから取得したSQL文とSELECTリストからの情報を第1引数のFieldDefinitionに反映します。
フィールド名とフィールド数はSQL文の解析から得られます。
解析によって得られたフィールド数がSELECTリストの数と同じであればSELECTリストのデータ型がフィールドに反映されます。 異なる場合は更新前に同名のフィールドがあればその型となりますが、それ以外はString型となります。
static UndoableEdit updateFieldDefinition(FieldDefinition fd, Table table)
          第一引数のFieldDefinitionに第2引数のTable情報を反映します。
返り値はUndo情報ですのでイベントのaddUndoメソッドに渡してください。
(fdとtableが同じ内容であった場合はnullが返ります。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getDefaultSQLOption

public static SQLOption getDefaultSQLOption()
デフォルトのSQLOptionを取得します。

setDefaultSQLOption

public static void setDefaultSQLOption(SQLOption option)
デフォルトのSQLOptionを設定します。

createSQLBuilderDialog

public static SQLBuilderDialog createSQLBuilderDialog(String title,
                                                      TableProvider provider,
                                                      SQLBuilder builder)
RDBGetコンポーネントで使用しているSQLBuilderを作成します。
Parameters:
title - ダイアログのタイトル
provider - DB情報を取得するためのProvider
builder - SQLBuilderのモデル情報

createTableSelectDialog

public static TableSelectDialog createTableSelectDialog(String title,
                                                        TableProvider provider)
RDBPutコンポーネントで使用しているテーブル選択ダイアログを作成します。
Parameters:
title - ダイアログのタイトル
provider - DB情報を取得するためのProvider

updateCategoryProperty

public static UndoableEdit updateCategoryProperty(CategoryProperty prop,
                                                  Table table)
第一引数のCategoryPropertyに第2引数のTable情報を反映します。
返り値はUndo情報ですのでイベントのaddUndoメソッドに渡してください。
(propとtableが同じ内容であった場合はnullが返ります。

updateFieldDefinition

public static UndoableEdit updateFieldDefinition(FieldDefinition fd,
                                                 String sql,
                                                 ColumnList select)
SQLBuilderから取得したSQL文とSELECTリストからの情報を第1引数のFieldDefinitionに反映します。
フィールド名とフィールド数はSQL文の解析から得られます。
解析によって得られたフィールド数がSELECTリストの数と同じであればSELECTリストのデータ型がフィールドに反映されます。 異なる場合は更新前に同名のフィールドがあればその型となりますが、それ以外はString型となります。

updateFieldDefinition

public static UndoableEdit updateFieldDefinition(FieldDefinition fd,
                                                 Table table)
第一引数のFieldDefinitionに第2引数のTable情報を反映します。
返り値はUndo情報ですのでイベントのaddUndoメソッドに渡してください。
(fdとtableが同じ内容であった場合はnullが返ります。

sqlToFieldDefinition

public static FieldDefinition sqlToFieldDefinition(SQLBuilder builder,
                                                   String sql)
SELECT文を分析してFieldDefinitionを作成します。

getTableProvider

public TableProvider getTableProvider(String connectionName)
                               throws IOException
コネクション名を指定してそれに対応するTableProviderを取得します。
Parameters:
connectionName - RDBコネクション名

getTableNames

public String[] getTableNames(String connectionName)
                       throws IOException
コネクション名に対応するテーブル一覧を返します。
Parameters:
connectionName - RDBコネクション名

getTableFields

public com.infoteria.asteria.util.rdb.ColumnInfo[] getTableFields(String connectionName,
                                                                  String tblname)
                                                           throws IOException
コネクション名とテーブル名を指定してテーブルのフィールド一覧を返します。
Parameters:
connectionName - RDBコネクション名
tblName - テーブル名