java.lang.Object
com.infoteria.asteria.flowbuilder2.plugin.SQLTool

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

    • 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, com.infoteria.asteria.sqlbuilder.model.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コネクション名
      Throws:
      IOException
    • getTableNames

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

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