概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## woolpack.html
クラス AutoUpdater<E extends java.lang.Exception>

    java.lang.Object
      woolpack.xml.AbstractNodeSeeker<NodeContext,E>
          woolpack.html.AutoUpdater<E>

型パラメータ:
  `E` -

すべての実装されたインタフェース:
  java.lang.Cloneable, Fn<NodeContext,java.lang.Void,E>

    public class AutoUpdater<E extends java.lang.Exception>

extends AbstractNodeSeeker<NodeContext,E>
implements java.lang.Cloneable

DOM エレメントの属性値をプロパティ名としてコンポーネントから値を取得し、 DOM ノードに自動設定する`Fn`です。 `exec(NodeContext)`メソッドでは以下の処理を行います。

1. attrNamesのいずれかの属性名を持つノードを検索します。
2. 属性名に対応する属性値をプロパティ名とみなしてNodeContextインスタンスのcomponentELを基点とするプロパティ値を取得します。
3. プロパティ値の型により以下の処理を行います。
   BeanまたはMap型単純型のコレクションの場合
   1. 単純型でないコレクションの場合は、コレクションの各値をcomponentELとし現在のDOMノードを基点とする本クラスのクローンを作成して委譲します。
   2. 単純型のコレクションまたは単純型そのものの場合は、その値で`ValueUpdater`を生成して委譲します。
   3. 単純型でないクラスの場合は、その値をcomponentELとし現在のDOMノードを基点とする本クラスのクローンを作成して委譲します。

コンポーネントのデータ構造に似た属性名マーカー付きDOMノードをテンプレートとして定義することにより、 データの流し込み処理を自動化することができます。 業務系プログラムで作成したデータ構造を HTMLのDOM表現に流し込む本機構により プログラマとデザイナの結合を疎に保ちます。

作成者:
  nakamura

コンストラクタの概要
`` | `AutoUpdater(java.lang.Iterable<java.lang.String> attrNames, GettingEL componentEL, GettingEL configEL)` 値取得に失敗した場合は何もしません。
`` | `AutoUpdater(java.lang.Iterable<java.lang.String> attrNames, GettingEL componentEL, GettingEL configEL, java.util.Collection<java.lang.Class<?>> atomCollection, GettingEL errorEL)`
`protected` | `AutoUpdater(java.lang.Iterable<java.lang.String> attrNames, GettingEL componentEL, GettingEL configEL, java.util.Collection<java.lang.Class<?>> atomCollection, GettingEL errorEL, boolean selectMode)`

メソッドの概要
`java.lang.Object` | `clone()`
`java.lang.Void` | `exec(NodeContext c)` 関数を実行します。
`java.util.Collection<java.lang.Class<?>>` | `getAtomCollection()`
`java.lang.Iterable<java.lang.String>` | `getAttrNames()`
`GettingEL` | `getComponentEL()`
`GettingEL` | `getConfigEL()`
`GettingEL` | `getErrorEL()`
`void` | `setAtomCollection(java.util.Collection<java.lang.Class<?>> atomCollection)`
`void` | `setAttrNames(java.lang.Iterable<java.lang.String> attrNames)`
`void` | `setComponentEL(GettingEL componentEL)`
`void` | `setConfigEL(GettingEL configEL)`
`void` | `setErrorEL(GettingEL errorEL)`

クラス java.lang.Object から継承されたメソッド
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### AutoUpdater

    protected AutoUpdater(java.lang.Iterable<java.lang.String> attrNames,
                          GettingEL componentEL,
                          GettingEL configEL,
                          java.util.Collection<java.lang.Class<?>> atomCollection,
                          GettingEL errorEL,
                          boolean selectMode)

### AutoUpdater

    public AutoUpdater(java.lang.Iterable<java.lang.String> attrNames,
                       GettingEL componentEL,
                       GettingEL configEL,
                       java.util.Collection<java.lang.Class<?>> atomCollection,
                       GettingEL errorEL)

パラメータ:
  `attrNames` - 属性名の一覧。
  `componentEL` - コンポーネントへの参照。
  `configEL` - 設定値への参照。
  `atomCollection` - 値の個数に関して原子的であるクラスの一覧。
  `errorEL` - 値取得に失敗した場合の値の取得先。

### AutoUpdater

    public AutoUpdater(java.lang.Iterable<java.lang.String> attrNames,
                       GettingEL componentEL,
                       GettingEL configEL)

  値取得に失敗した場合は何もしません。

  パラメータ:
    `attrNames` - 属性名の一覧。
    `componentEL` - コンポーネントへの参照。
    `configEL` - 設定値への参照。

メソッドの詳細

### exec

    public java.lang.Void exec(NodeContext c)
                        throws E extends java.lang.Exception

  インタフェース `Fn` の記述:
  関数を実行します。

  定義:
    インタフェース `Fn<NodeContext,java.lang.Void,E extends java.lang.Exception>` 内の `exec`
  オーバーライド:
    クラス `AbstractNodeSeeker<NodeContext,E extends java.lang.Exception>` 内の `exec`
  パラメータ:
    `c` - コンテキスト役。
  戻り値:
    返却値。
  例外:
    `E` - 例外。
    `E extends java.lang.Exception`

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  オーバーライド:
    クラス `java.lang.Object` 内の `clone`
  例外:
    `java.lang.CloneNotSupportedException`

### getAttrNames

    public java.lang.Iterable<java.lang.String> getAttrNames()

### setAttrNames

    public void setAttrNames(java.lang.Iterable<java.lang.String> attrNames)

### getComponentEL

    public GettingEL getComponentEL()

### setComponentEL

    public void setComponentEL(GettingEL componentEL)

### getErrorEL

    public GettingEL getErrorEL()

### setErrorEL

    public void setErrorEL(GettingEL errorEL)

### getConfigEL

    public GettingEL getConfigEL()

### setConfigEL

    public void setConfigEL(GettingEL configEL)

### getAtomCollection

    public java.util.Collection<java.lang.Class<?>> getAtomCollection()

### setAtomCollection

    public void setAtomCollection(java.util.Collection<java.lang.Class<?>> atomCollection)

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.