next up previous contents
Next: BeanInfoとエディタの設定 Up: Property Editor Previous: PropertyEditorSupport

PropertyEditorManager

あるpropertyには、あるeditorが対応します。より正確に述べれば、プロパティその ものではなく、Class type = property.getPropertyType() で獲得されるプロパティの 型 typeに対応したeditorが必要です。PropertyEditorManagerクラスは、 PropertyEditorManager.findEditor(type)の形で使われて、typeに対応するeditorの インスタンスを返します。 findEditorメソッドは、次の三段階でEditorを作ろうとします。まず、第一には、 ハッシュ・テーブルに格納してあるデフォールトのeditorを利用しようとします。 先にEditorクラスをいくつか紹介しましたが、これらのプリミティブ・タイプや、 String、Colorクラス対応するEditorは、あらかじめ用意され、ハッシュ・テーブルに 収められています。第二に、このテーブルに見つからなければ、 完全修飾されたクラス名の後ろに、"Editor"を付け加えたクラスを探して、 それをそのクラスのEditorとして利用しようとします。例えば、クラス・パスの 中に、maru.yama.Fujioというクラスとともに、maru.yama.FujioEditorというクラスが 存在すれば、後者を前者のeditorと考えることになります。こうしたNaming Ruleの 積極的な利用は、Beansプログラミングの特徴の一つです。最初は、沢山ルールがあって わずらわしいと思われるかもしれませんが、慣れてくると、わかりやすく思えてきます し、何よりも、自分でプログラムを書くときに、名前の付け方が簡単になるのはいい ものです。 これでもeditorが見つからないときには、第三に、findEditorは、システム指定の サーチパス上に、クラス名+"Editor"という名前のクラスを探します。現在は、この サーチ・パスには、"sun.beans.editors"という値だけが設定されていますので、 maru.yama.Fujioクラスは、もし、maru.yama.FujioEditorクラスが見つからないと すれば、sun.beans.editors.FujioEditorクラスを探すことになります。



maruyama@wakhok.ac.jp