Class CurrentDateTimeAnnotationHandler

java.lang.Object
nablarch.core.db.statement.autoproperty.FieldAnnotationHandlerSupport
nablarch.core.db.statement.autoproperty.CurrentDateTimeAnnotationHandler
All Implemented Interfaces:
AutoPropertyHandler

public class CurrentDateTimeAnnotationHandler extends FieldAnnotationHandlerSupport
CurrentDateTimeが設定されているフィールドにシステム日時を設定するクラス。
Author:
Hisaaki Sioiri
  • Constructor Details

    • CurrentDateTimeAnnotationHandler

      public CurrentDateTimeAnnotationHandler()
  • Method Details

    • handle

      public void handle(Object obj)
      CurrentDateTimeが設定されているフィールドの値にシステム日時を設定する。
      システム日付は、SystemTimeProviderから取得を行う。
      システム日付は、下記のルールでフィールドに設定される。
       1.Dateの場合
         SystemTimeProvider.getDate()Dateに変換して設定する。
       2.Timeの場合
         SystemTimeProvider.getDate()Timeに変換して設定する。
       3.Timestampの場合
         SystemTimeProvider.getDate()Timestampに変換して設定する。
       4.StringInteger(プリミティブ型を含む)、Long(プリミティブ型を含む)の場合
         SystemTimeProvider.getDate()をCurrentDateTime#format()でフォーマットしそれぞれの型に型変換し設定する。
         formatが設定されていない場合は、setDateFormat(java.lang.String)で設定されたデフォルトフォーマットでフォーマットを行う。
       
      Parameters:
      obj - 対象のオブジェクト
    • setDateProvider

      public void setDateProvider(SystemTimeProvider dateProvider)
      現在日時取得コンポーネントを設定する。
      Parameters:
      dateProvider - 現在日時取得コンポーネント
    • setDateFormat

      public void setDateFormat(String dateFormat)
      デフォルトフォーマット。
      Parameters:
      dateFormat - 日付のフォーマット形式