org.joda.time.LocalDateに移行したいjava.util.Dateを使用し、期待しているコードがたくさんあります。問題は、ほとんどのコードが動的に型付けされることです。
したがって、ClassCastExceptionをインターセプトし、実行時に変換を実行し(例外をバブルアップさせるのではなく)、操作をログに記録する(コードを修正できるようにする)ためのグルービーな方法があるかどうか疑問に思います。
例:
import org.joda.time.LocalDate
def someMethod(date) {
println date.year()
}
// this call is ok
someMethod(new LocalDate())
// this call raises an exception
someMethod(new Date())
2番目の呼び出しをtry-catchで囲み、正しいタイプでリコールするなど、上記のコードを変更したくありません。これをグローバルに行う方法が欲しかった。