Class SequenceIdGeneratorSupport

java.lang.Object
nablarch.common.idgenerator.SequenceIdGeneratorSupport
All Implemented Interfaces:
IdGenerator

@Deprecated public abstract class SequenceIdGeneratorSupport extends Object implements IdGenerator
Deprecated.
本実装は、Dialectを使用してシーケンス採番を行うSequenceIdGeneratorに置き換わりました。
シーケンスを使用した採番処理をサポートするクラス。
サブクラスでは、createSql(String)を実装し、 シーケンスオブジェクトを使用した採番用SQLを生成すること。
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Deprecated.
    コンストラクタ。
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract String
    createSql(String sequenceName)
    Deprecated.
    シーケンス採番用のSQL文を取得する。
    サブクラスでは、本メソッドを実装しシーケンス採番用のSQL文を生成すること。
    SELECT句に記述する採番結果の値が格納されるカラム名は、「GENERATE_ID」とすること。
    Deprecated.
    引数で指定された採番対象ID内でユニークなIDを採番する。 採番対象IDに対応するシーケンスオブジェクト名を設定ファイル(setIdTable(java.util.Map)に設定された情報) から取得し、採番処理を行う。 setIdTable(java.util.Map)に設定されたIDとシーケンスの紐付けテーブルに、 指定されたIDが存在しない場合は、IllegalArgumentExceptionを送出する。
    generateId(String id, IdFormatter formatter)
    Deprecated.
    引数で指定された採番対象ID内でユニークなIDを採番し、指定されたIdFormatterでフォーマットし返却する。
    void
    setDbTransactionName(String dbTransactionName)
    Deprecated.
    データベースリソース名を設定する。
    void
    Deprecated.
    採番対称を識別するIDとシーケンス名の紐付け用テーブルを設定する。
    シーケンス名を文字列連結してSQL文を生成するため、シーケンス名にスペースがあった場合はエラーとし SQLインジェクションの脆弱性への対応を行う。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SequenceIdGeneratorSupport

      @Published(tag="architect") protected SequenceIdGeneratorSupport()
      Deprecated.
      コンストラクタ。
  • Method Details

    • generateId

      public String generateId(String id)
      Deprecated.
      引数で指定された採番対象ID内でユニークなIDを採番する。 採番対象IDに対応するシーケンスオブジェクト名を設定ファイル(setIdTable(java.util.Map)に設定された情報) から取得し、採番処理を行う。 setIdTable(java.util.Map)に設定されたIDとシーケンスの紐付けテーブルに、 指定されたIDが存在しない場合は、IllegalArgumentExceptionを送出する。
      Specified by:
      generateId in interface IdGenerator
      Parameters:
      id - 採番対象を識別するID
      Returns:
      採番対象ID内でユニークな採番結果のID
    • generateId

      public String generateId(String id, IdFormatter formatter)
      Deprecated.
      引数で指定された採番対象ID内でユニークなIDを採番し、指定されたIdFormatterでフォーマットし返却する。
      採番対象IDに対応するシーケンスオブジェクト名を設定ファイル(setIdTable(java.util.Map)に設定された情報) から取得し、採番処理を行う。 setIdTable(java.util.Map)に設定されたIDとシーケンスの紐付けテーブルに、 指定されたIDが存在しない場合は、IllegalArgumentExceptionを送出する。
      Specified by:
      generateId in interface IdGenerator
      Parameters:
      id - 採番対象を識別するID
      formatter - 採番したIDをフォーマットするIdFormatter
      Returns:
      採番対象ID内でユニークな採番結果のID
    • setIdTable

      public void setIdTable(Map<String,String> idTable)
      Deprecated.
      採番対称を識別するIDとシーケンス名の紐付け用テーブルを設定する。
      シーケンス名を文字列連結してSQL文を生成するため、シーケンス名にスペースがあった場合はエラーとし SQLインジェクションの脆弱性への対応を行う。
      Parameters:
      idTable - 採番対象IDテーブル (key -> 採番対称を識別するID:value -> シーケンス名)
    • setDbTransactionName

      public void setDbTransactionName(String dbTransactionName)
      Deprecated.
      データベースリソース名を設定する。
      Parameters:
      dbTransactionName - データベースリソース名
    • createSql

      @Published(tag="architect") protected abstract String createSql(String sequenceName)
      Deprecated.
      シーケンス採番用のSQL文を取得する。
      サブクラスでは、本メソッドを実装しシーケンス採番用のSQL文を生成すること。
      SELECT句に記述する採番結果の値が格納されるカラム名は、「GENERATE_ID」とすること。
      Parameters:
      sequenceName - 対象のシーケンス名
      Returns:
      シーケンス取得用のSQL文