モジュール java.desktop
パッケージ java.beans.beancontext

クラスBeanContextSupport

    • フィールドの詳細

      • children

        protected transient HashMap<Object,BeanContextSupport.BCSChild> children
        protected HashMap childrenフィールドへのすべてのアクセスは、そのオブジェクトで同期されます。
      • bcmListeners

        protected transient ArrayList<BeanContextMembershipListener> bcmListeners
        protected ArrayList bcmListenersフィールドへのすべてのアクセスは、そのオブジェクトで同期されます。
      • locale

        protected Locale locale
        BeanContextの現在のロケールです。
      • okToUseGui

        protected boolean okToUseGui
        このインスタンスがGUIを描画できるかどうかを示すboolean
      • designTime

        protected boolean designTime
        このオブジェクトが現在、設計時モードであるかどうかを示すboolean
    • コンストラクタの詳細

      • BeanContextSupport

        public BeanContextSupport​(BeanContext peer,
                                  Locale lcle,
                                  boolean dTime,
                                  boolean visible)
        BeanContextSupportのインスタンスを生成します。
        パラメータ:
        peer - 実装の提供先となるピアBeanContext、このオブジェクトが自身のピアである場合はnull
        lcle - このBeanContextの現在のロケール。 lclenullの場合は、デフォルトのロケールがBeanContextインスタンスに割り当てられます。
        dTime - 初期状態、設計モードの場合はtrue、実行時の場合はfalse
        visible - 初期状態での可視性。
        関連項目:
        Locale.getDefault(), Locale.setDefault(java.util.Locale)
      • BeanContextSupport

        public BeanContextSupport​(BeanContext peer,
                                  Locale lcle,
                                  boolean dtime)
        指定されたロケールを使って設計モードでインスタンスを生成します。
        パラメータ:
        peer - 実装の提供先となるピアBeanContext、このオブジェクトが自身のピアである場合はnull
        lcle - このBeanContextの現在のロケール。 lclenullの場合は、デフォルトのロケールがBeanContextインスタンスに割り当てられます。
        dtime - 初期状態、設計モードの場合はtrue、実行時の場合はfalse
        関連項目:
        Locale.getDefault(), Locale.setDefault(java.util.Locale)
      • BeanContextSupport

        public BeanContextSupport​(BeanContext peer,
                                  Locale lcle)
        指定されたロケールを使ってインスタンスを生成します。
        パラメータ:
        peer - 実装の提供先となるピアBeanContext、このオブジェクトが自身のピアである場合はnull
        lcle - このBeanContextの現在のロケール。 lclenullの場合は、デフォルトのロケールがBeanContextインスタンスに割り当てられます。
        関連項目:
        Locale.getDefault(), Locale.setDefault(java.util.Locale)
      • BeanContextSupport

        public BeanContextSupport​(BeanContext peer)
        デフォルトのロケールを使ってインスタンスを生成します。
        パラメータ:
        peer - 実装の提供先となるピアBeanContext、このオブジェクトが自身のピアである場合はnull
      • BeanContextSupport

        public BeanContextSupport()
        ほかのオブジェクトの委譲でないインスタンスを生成します。
    • メソッドの詳細

      • getBeanContextPeer

        public BeanContext getBeanContextPeer()
        このオブジェクトが実装を提供しているBeanContextのインスタンスを取得します。
        戻り値:
        BeanContextインスタンス
      • instantiateChild

        public Object instantiateChild​(String beanName)
                                throws IOException,
                                       ClassNotFoundException

        instantiateChildメソッドは、Beanを入れ子にしてBeanContextにインスタンスを生成するタスクを単純化するBeanContextの簡易フックです。

        beanNameパラメータのセマンティックスは、java.beans.Beans.instantiateによって定義されます。

        定義:
        instantiateChild、インタフェース: BeanContext
        パラメータ:
        beanName - このBeanContext内でインスタンスを生成するBeanの名前
        戻り値:
        新規オブジェクト
        例外:
        IOException - Beanの直列化復元中に入出力エラーが発生した場合
        ClassNotFoundException - beanNameパラメータによって識別されたクラスが見つからない場合
      • size

        public int size()
        このBeanContextで入れ子になった現在の子の個数を取得します。
        定義:
        size、インタフェース: Collection
        戻り値:
        子の数
      • isEmpty

        public boolean isEmpty()
        このBeanContextが空かどうかを報告します。 入れ子になった子がない場合、BeanContextは空とみなされます。
        定義:
        isEmpty、インタフェース: Collection
        戻り値:
        子がないかどうか
      • contains

        public boolean contains​(Object o)
        指定されたオブジェクトが現在このBeanContextの子であるかどうかを判定します。
        定義:
        contains、インタフェース: Collection
        パラメータ:
        o - 該当するオブジェクト
        戻り値:
        このオブジェクトが子の場合
      • containsKey

        public boolean containsKey​(Object o)
        指定されたオブジェクトが現在このBeanContextの子であるかどうかを判定します。
        パラメータ:
        o - 該当するオブジェクト
        戻り値:
        このオブジェクトが子の場合
      • iterator

        public Iterator<Object> iterator()
        このBeanContext内で現在入れ子になっているJavaBeanまたはBeanContextのインスタンスをすべて取得します。
        定義:
        iterator、インタフェース: Collection
        定義:
        iterator、インタフェース: Iterable
        戻り値:
        入れ子になった子のIterator
      • toArray

        public Object[] toArray​(Object[] arry)
        arryに含まれる型と一致する、このBeanContextのすべての子を含む配列を取得します。
        定義:
        toArray、インタフェース: Collection
        パラメータ:
        arry - 対象となるオブジェクト型の配列。
        戻り値:
        子の配列
      • createBCSChild

        protected BeanContextSupport.BCSChild createBCSChild​(Object targetChild,
                                                             Object peer)

        サブクラスはこのメソッドをオーバーライドすることにより、セットに子を追加するadd()メソッドやほかのCollectionメソッドをオーバーライドすることなく、Childの独自のサブクラスを挿入することができます。

        パラメータ:
        targetChild - 代わりにChildを作成する子
        peer - tragetChildとピアがBeanContextProxyの実装によって関連付けられている場合は、ピア
        戻り値:
        コレクション・メソッドをオーバーライドしない、子のサブ型固有のサブクラス
      • add

        public boolean add​(Object targetChild)
        このBeanContext内に子を追加、すなわち入れ子にします。

        java.beans.Beans.instantiate()の副作用として呼び出されます。 子オブジェクトを追加する処理が正当でない場合、このメソッドはIllegalStateExceptionをスローします。

        定義:
        add、インタフェース: Collection
        パラメータ:
        targetChild - このBeanContext内で入れ子になる子オブジェクト
        戻り値:
        子の追加が成功した場合はtrue。
        関連項目:
        validatePendingAdd(java.lang.Object)
      • remove

        public boolean remove​(Object targetChild)
        このBeanContextから子を削除します。 子オブジェクトを追加する処理が正当でない場合、このメソッドはIllegalStateExceptionをスローします。
        定義:
        remove、インタフェース: Collection
        パラメータ:
        targetChild - 削除される子オブジェクト
        戻り値:
        この呼出しの結果として要素が削除された場合はtrue
        関連項目:
        validatePendingRemove(java.lang.Object)
      • remove

        protected boolean remove​(Object targetChild,
                                 boolean callChildSetBC)
        予期しないsetBeanContextあるいはremove()呼出しで削除が行われる場合に使用される内部削除。
        パラメータ:
        targetChild - 削除されるJavaBean、BeanContext、またはObject
        callChildSetBC - 子がこのBeanContextの入れ子でなくなったことを通知するべきであると示すために使用される。
        戻り値:
        削除する前に存在したかどうか
      • containsAll

        public boolean containsAll​(Collection c)
        指定されたCollection内のすべての子がこのBeanContextの子であるかどうかを調べます。
        定義:
        containsAll、インタフェース: Collection
        パラメータ:
        c - 指定されているCollection
        戻り値:
        コレクションのすべてのオブジェクトが、このBeanContextの子の場合はtrue、そうでない場合はfalse
        関連項目:
        Collection.contains(Object)
      • addAll

        public boolean addAll​(Collection c)
        ChildrenのセットにCollectionを追加します(サポートされていない)。実装では、階層のロックおよび「子」のprotectedフィールドについて同期をとる必要があります。
        定義:
        addAll、インタフェース: Collection
        パラメータ:
        c - このコレクションに追加される要素を含むコレクション
        戻り値:
        この実装では、無条件にUnsupportedOperationExceptionがスローされます
        例外:
        UnsupportedOperationException - この実装によって無条件にスローされる
        関連項目:
        Collection.add(Object)
      • removeAll

        public boolean removeAll​(Collection c)
        指定されたすべての子を削除します(サポートされていない)。実装では、階層のロックおよび「子」のprotectedフィールドについて同期をとる必要があります。
        定義:
        removeAll、インタフェース: Collection
        パラメータ:
        c - このコレクションから削除される要素を含むコレクション
        戻り値:
        この実装では、無条件にUnsupportedOperationExceptionがスローされます
        例外:
        UnsupportedOperationException - この実装によって無条件にスローされる
        関連項目:
        Collection.remove(Object), Collection.contains(Object)
      • retainAll

        public boolean retainAll​(Collection c)
        指定された子だけを保持します(サポートされていない)。実装では、階層のロックおよび「子」のprotectedフィールドについて同期をとる必要があります。
        定義:
        retainAll、インタフェース: Collection
        パラメータ:
        c - このコレクションで保持される要素を含むコレクション
        戻り値:
        この実装では、無条件にUnsupportedOperationExceptionがスローされます
        例外:
        UnsupportedOperationException - この実装によって無条件にスローされる
        関連項目:
        Collection.remove(Object), Collection.contains(Object)
      • clear

        public void clear()
        子をクリアします(サポートされていない)。実装では、階層のロックおよび「子」のprotectedフィールドについて同期をとる必要があります。
        定義:
        clear、インタフェース: Collection
        例外:
        UnsupportedOperationException - この実装によって無条件にスローされる
      • getResourceAsStream

        public InputStream getResourceAsStream​(String name,
                                               BeanContextChild bcc)
        インタフェースからコピーされた説明: BeanContext
        java.lang.ClassLoader.getResourceAsStream()と同じように、このメソッドによってBeanContext実装で子のComponentとベースとなるClassLoaderの間に動作を挿入できます。
        定義:
        getResourceAsStream、インタフェース: BeanContext
        パラメータ:
        name - リクエストされたリソースの名前。
        bcc - リクエストを行う子オブジェクト。
        戻り値:
        InputStreamとして要求されたリソース
        例外:
        NullPointerException - 引数がnullの場合
      • getResource

        public URL getResource​(String name,
                               BeanContextChild bcc)
        インタフェースからコピーされた説明: BeanContext
        java.lang.ClassLoader.getResource()と同じように、このメソッドによってBeanContext実装で子のComponentとベースとなるClassLoaderの間に動作を挿入できます。
        定義:
        getResource、インタフェース: BeanContext
        パラメータ:
        name - リクエストされたリソースの名前。
        bcc - リクエストを行う子オブジェクト。
        戻り値:
        InputStreamとして要求されたリソース
      • isDesignTime

        public boolean isDesignTime()
        このオブジェクトが現在、設計時モードかどうかを報告します。
        定義:
        isDesignTime、インタフェース: DesignMode
        戻り値:
        設計時モードの場合はtrue、それ以外の場合はfalse
      • setLocale

        public void setLocale​(Locale newLocale)
                       throws PropertyVetoException
        このBeanContextのロケールを設定します。
        パラメータ:
        newLocale - 新規ロケール。 newLocaleがnullの場合、このメソッド呼出しに効果はない。
        例外:
        PropertyVetoException - 新規ロケールが拒否された場合
      • getLocale

        public Locale getLocale()
        このBeanContextのロケールを取得します。
        戻り値:
        BeanContextの現在のLocale
      • needsGui

        public boolean needsGui()

        通常、このメソッドは実装側がGUIを必要としているかどうかを判断するために、環境から呼び出されます。

        ここで使われているアルゴリズムはBeanContextPeerと、現在の子が自身をContainers、Componentsのどちらかを判断するのをテストします。Visibilityを実装している場合は、needsGui()== trueを返します。

        定義:
        needsGui、インタフェース: Visibility
        戻り値:
        実装側がGUIを必要とする場合はtrue
      • dontUseGui

        public void dontUseGui()
        このインスタンスにGUIを描画できないことを通知します。
        定義:
        dontUseGui、インタフェース: Visibility
      • okToUseGui

        public void okToUseGui()
        このインスタンスにGUIを描画できることを通知します。
        定義:
        okToUseGui、インタフェース: Visibility
      • avoidingGui

        public boolean avoidingGui()
        BeanContextの子がGUIの使用を避けているかどうかを判断するために使われます。
        定義:
        avoidingGui、インタフェース: Visibility
        戻り値:
        このインスタンスがGUIの使用を避けるか
        関連項目:
        Visibility
      • isSerializing

        public boolean isSerializing()
        このBeanContextは直列化の処理中ですか。
        戻り値:
        このBeanContextが現在直列化されている場合
      • bcsChildren

        protected Iterator<BeanContextSupport.BCSChild> bcsChildren()
        このBeanContextのすべての子のイテレータを返します。
        戻り値:
        現在のすべてのBCSChild値のイテレータ
      • bcsPreSerializationHook

        protected void bcsPreSerializationHook​(ObjectOutputStream oos)
                                        throws IOException
        defaultWriteObject()のあと、子を直列化する前のwriteObjectによって呼び出されます。 スーパー・クラスが子を直列化する前の状態をカスタム直列化するサブクラスを使って、このメソッドをオーバーライドできます。 しかし、このメソッドは、writeObject()(がある場合)の独自の実装を置換するサブクラスで使用することはできません。
        パラメータ:
        oos - 直列化中に使用するObjectOutputStream
        例外:
        IOException - 直列化に失敗した場合
      • bcsPreDeserializationHook

        protected void bcsPreDeserializationHook​(ObjectInputStream ois)
                                          throws IOException,
                                                 ClassNotFoundException
        defaultReadObject()のあと、子を直列化する前のreadObjectによって呼び出されます。 スーパー・クラスが子を直列化する前の状態をカスタム直列化復元するサブクラスを使って、このメソッドをオーバーライドできます。 しかし、このメソッドは、readObject()(がある場合)独自の実装を置換するために、サブクラスで使用することはできません。
        パラメータ:
        ois - 直列化復元中に使用するObjectInputStream
        例外:
        IOException - 直列化復元が失敗した場合
        ClassNotFoundException - 必要なクラスが見つからない場合
      • childDeserializedHook

        protected void childDeserializedHook​(Object child,
                                             BeanContextSupport.BCSChild bcsc)
        新しく直列化復元された子およびBCSChildを使ってreadObjectによって呼び出されます。
        パラメータ:
        child - 新たに直列化復元された子
        bcsc - 新たに直列化復元されたBCSChild
      • serialize

        protected final void serialize​(ObjectOutputStream oos,
                                       Collection<?> coll)
                                throws IOException
        コレクションを直列化するためにwriteObjectによって使用されます。
        パラメータ:
        oos - 直列化中に使用するObjectOutputStream
        coll - 直列化するCollection
        例外:
        IOException - 直列化に失敗した場合
      • writeChildren

        public final void writeChildren​(ObjectOutputStream oos)
                                 throws IOException
        このBeanContextのすべての子を直列化するために使用されます。
        パラメータ:
        oos - 直列化中に使用するObjectOutputStream
        例外:
        IOException - 直列化に失敗した場合
      • readChildren

        public final void readChildren​(ObjectInputStream ois)
                                throws IOException,
                                       ClassNotFoundException
        このクラスのインスタンスがBeanContextプロトコル(およびそのサブプロトコル)の実装の委譲として使用されるときには、直列化復元の際に「鶏が先か卵が先か」の問題が起こります。
        パラメータ:
        ois - 使用するObjectInputStream
        例外:
        IOException - 直列化復元が失敗した場合
        ClassNotFoundException - 必要なクラスが見つからない場合
      • vetoableChange

        public void vetoableChange​(PropertyChangeEvent pce)
                            throws PropertyVetoException
        サブクラスは、子の拒否プロパティの変更を監視するために包括することがあります。
        定義:
        vetoableChange、インタフェース: VetoableChangeListener
        パラメータ:
        pce - イベント・ソースと変更されたプロパティを記述したPropertyChangeEventオブジェクト。
        例外:
        PropertyVetoException - 受け取り側がプロパティ変更をロールバックすることを望んでいる場合。
      • propertyChange

        public void propertyChange​(PropertyChangeEvent pce)
        サブクラスは、子のプロパティの変更を監視するために包括することがあります。
        定義:
        propertyChange、インタフェース: PropertyChangeListener
        パラメータ:
        pce - イベント・ソースと変更されたプロパティを記述したPropertyChangeEventオブジェクト。
      • validatePendingAdd

        protected boolean validatePendingAdd​(Object targetChild)

        このクラスのサブクラスはこのメソッドをオーバーライドまたは包括して、BeanContextに追加される直前に、BeanContextが子オブジェクトを調べるための検証動作を追加できます。

        パラメータ:
        targetChild - 代わりにChildを作成する子
        戻り値:
        子がこのBeanContextに追加された場合はtrue、そうでない場合はfalse。
      • validatePendingRemove

        protected boolean validatePendingRemove​(Object targetChild)

        このクラスのサブクラスはこのメソッドをオーバーライドまたは包括して、BeanContextから削除される直前に、BeanContextが子オブジェクトを調べるための検証動作を追加できます。

        パラメータ:
        targetChild - 代わりにChildを作成する子
        戻り値:
        子がこのBeanContextから削除される場合はtrue、そうでない場合はfalse。
      • childJustAddedHook

        protected void childJustAddedHook​(Object child,
                                          BeanContextSupport.BCSChild bcsc)
        サブクラスはこのメソッドをオーバーライドして、子が追加されて、イベント通知が発生する前に、簡単にadd()セマンティックスを拡張できます。 このメソッドは同期化されている子を使って呼び出されます。
        パラメータ:
        child - 子
        bcsc - BCSChild
      • childJustRemovedHook

        protected void childJustRemovedHook​(Object child,
                                            BeanContextSupport.BCSChild bcsc)
        サブクラスはこのメソッドをオーバーライドして、子が削除されて、イベント通知が発生する前に、簡単にremove()セマンティックスを拡張できます。 このメソッドは同期化されている子を使って呼び出されます。
        パラメータ:
        child - 子
        bcsc - BCSChild
      • getChildVisibility

        protected static final Visibility getChildVisibility​(Object child)
        指定された子に関連したComponent (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定された子に関連したComponent (存在する場合)。
      • getChildSerializable

        protected static final Serializable getChildSerializable​(Object child)
        指定されたChildに関連したSerializable (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定されたChildに関連したSerializable (存在する場合)
      • getChildPropertyChangeListener

        protected static final PropertyChangeListener getChildPropertyChangeListener​(Object child)
        指定された子のPropertyChangeListener (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定された子のPropertyChangeListener (存在する場合)
      • getChildVetoableChangeListener

        protected static final VetoableChangeListener getChildVetoableChangeListener​(Object child)
        指定された子のVetoableChangeListener (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定された子のVetoableChangeListener (存在する場合)
      • getChildBeanContextMembershipListener

        protected static final BeanContextMembershipListener getChildBeanContextMembershipListener​(Object child)
        指定された子のBeanContextMembershipListener (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定された子のBeanContextMembershipListener (存在する場合)
      • getChildBeanContextChild

        protected static final BeanContextChild getChildBeanContextChild​(Object child)
        指定された子のBeanContextChild (存在する場合)を取得します。
        パラメータ:
        child - 指定された子
        戻り値:
        指定された子のBeanContextChild (存在する場合)
        例外:
        IllegalArgumentException - 子がBeanContextChildおよびBeanContextProxyの両方を実装している場合
      • fireChildrenAdded

        protected final void fireChildrenAdded​(BeanContextMembershipEvent bcme)
        BeanContextMembershipListenerインタフェースのBeanContextshipEventをトリガーします。
        パラメータ:
        bcme - トリガーするイベント
      • fireChildrenRemoved

        protected final void fireChildrenRemoved​(BeanContextMembershipEvent bcme)
        BeanContextMembershipListenerインタフェースのBeanContextshipEventをトリガーします。
        パラメータ:
        bcme - トリガーするイベント
      • initialize

        protected void initialize()
        BeanContextSupportインスタンスの過渡状態を初期化するために、コンストラクタおよびreadObjectから呼び出されるprotectedメソッドです。 このクラスは、このメソッドを使用して、子のPropertyChangeおよびVetoableChangeイベントのモニターに使用される内部クラス・リスナーをインスタンス化します。サブクラスは独自の初期化動作を追加するためにこのメソッドを包括できます。
      • copyChildren

        protected final Object[] copyChildren()
        このBeanContextの子のコピーを取得します。
        戻り値:
        現在の入れ子になった子のコピー
      • classEquals

        protected static final boolean classEquals​(Class<?> first,
                                                   Class<?> second)
        2つのクラス・オブジェクトまたはそれらの名前が同じかどうかを判定します。
        パラメータ:
        first - 最初のオブジェクト
        second - 2番目のオブジェクト
        戻り値:
        同じ場合はtrue、そうでない場合はfalse