org.apache.struts.util
クラス BeanUtils

java.lang.Object
  拡張org.apache.struts.util.BeanUtils

推奨されていません。 Struts 1.0 final以降のいずれかの時点で、Jakarta Commons Beanutils パッケージ中の同等なクラスに置き換えられます。

public class BeanUtils
extends java.lang.Object

JavaBeans のプロパティをリフレクションを使用して設定するユーティリティメソッド群です。

バージョン:
$Revision: 1.2 $ $Date: 2003/03/22 07:55:10 $
作成者:
Craig R. McClanahan, Ralph Schaer, Chris Audley
翻訳者:
高橋 一隆 [日本語訳のコメントは、report@jajakarta.orgに送ってください。]

フィールドの概要
private static int debug
          推奨されていません。 このコンポーネントのデバッグ詳細レベル。
 
コンストラクタの概要
BeanUtils()
          推奨されていません。  
 
メソッドの概要
static java.lang.Object cloneBean(java.lang.Object bean)
          推奨されていません。 引数の bean クラスが Cloneable を実装していない場合でも、 利用可能なプロパティのセッター/ゲッターに基づいて bean のクローンを返します。
static java.util.Map describe(java.lang.Object bean)
          推奨されていません。 指定された bean が読み取りメソッドを提供する全プロパティを返します。
static java.lang.String[] getArrayProperty(java.lang.Object bean, java.lang.String name)
          推奨されていません。 指定した bean の指定した配列プロパティの値を String 配列として返します。
static int getDebug()
          推奨されていません。  
static java.lang.String getIndexedProperty(java.lang.Object bean, java.lang.String name)
          推奨されていません。 指定した bean の指定したインデックスプロパティの値を String として返します。
static java.lang.String getIndexedProperty(java.lang.Object bean, java.lang.String name, int index)
          推奨されていません。 指定した bean の指定したインデックスプロパティの値を String として返します。
static java.lang.String getNestedProperty(java.lang.Object bean, java.lang.String name)
          推奨されていません。 指定した bean の指定した名前の(おそらくネストした)プロパティの値を String として返します。
static java.lang.String getProperty(java.lang.Object bean, java.lang.String name)
          推奨されていません。 指定した bean の指定したプロパティの値を、プロパティの参照フォーマット に関わらず、Stringとして返します。
static java.lang.String getSimpleProperty(java.lang.Object bean, java.lang.String name)
          推奨されていません。 指定した bean の指定したシンプルプロパティの値を String に変換して返します。
static void populate(java.lang.Object bean, java.util.Map properties)
          推奨されていません。 指定した bean の JavaBeans プロパティを、指定した名前/値ペアに基づいて 設定します。
static void setDebug(int newDebug)
          推奨されていません。  
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

debug

private static int debug
推奨されていません。 
このコンポーネントのデバッグ詳細レベル。

コンストラクタの詳細

BeanUtils

public BeanUtils()
推奨されていません。 
メソッドの詳細

getDebug

public static int getDebug()
推奨されていません。 

setDebug

public static void setDebug(int newDebug)
推奨されていません。 

cloneBean

public static java.lang.Object cloneBean(java.lang.Object bean)
                                  throws java.lang.IllegalAccessException,
                                         java.lang.InstantiationException,
                                         java.lang.reflect.InvocationTargetException,
                                         java.lang.NoSuchMethodException
推奨されていません。 
引数の bean クラスが Cloneable を実装していない場合でも、 利用可能なプロパティのセッター/ゲッターに基づいて bean のクローンを返します。

パラメータ:
bean - クローンを作成する bean
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.InstantiationException - 指定した bean クラスの新しいインスタンスが生成できない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

describe

public static java.util.Map describe(java.lang.Object bean)
                              throws java.lang.IllegalAccessException,
                                     java.lang.reflect.InvocationTargetException,
                                     java.lang.NoSuchMethodException
推奨されていません。 
指定された bean が読み取りメソッドを提供する全プロパティを返します。 このマップをフィードバックして BeanUtils.populate() メソッドを呼び出すことで、読み取り専用/書込み専用のプロパティの違いは ともかくとして、同じプロパティを再構成することができます。

パラメータ:
bean - プロパティを取り出す bean
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getArrayProperty

public static java.lang.String[] getArrayProperty(java.lang.Object bean,
                                                  java.lang.String name)
                                           throws java.lang.IllegalAccessException,
                                                  java.lang.reflect.InvocationTargetException,
                                                  java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定した配列プロパティの値を String 配列として返します。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティ名
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getIndexedProperty

public static java.lang.String getIndexedProperty(java.lang.Object bean,
                                                  java.lang.String name)
                                           throws java.lang.IllegalAccessException,
                                                  java.lang.reflect.InvocationTargetException,
                                                  java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定したインデックスプロパティの値を String として返します。 要求された値のゼロ相対インデックスは([]で囲み、)プロパティ名の接尾辞として 含められなければなりません。そうでない場合、IllegalArgumentException がスローされます。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティ値の プロパティ名[インデックス]
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getIndexedProperty

public static java.lang.String getIndexedProperty(java.lang.Object bean,
                                                  java.lang.String name,
                                                  int index)
                                           throws java.lang.IllegalAccessException,
                                                  java.lang.reflect.InvocationTargetException,
                                                  java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定したインデックスプロパティの値を String として返します。 インデックスはメソッドのパラメータとして指定され、プロパティ名にふくまれては*いけません*。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティ値の簡潔な[訳注:インデックスを含まない]プロパティ名
index - 取り出すプロパティ値のインデックス
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getNestedProperty

public static java.lang.String getNestedProperty(java.lang.Object bean,
                                                 java.lang.String name)
                                          throws java.lang.IllegalAccessException,
                                                 java.lang.reflect.InvocationTargetException,
                                                 java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定した名前の(おそらくネストした)プロパティの値を String として返します。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティのおそらくネストした名前
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.IllegalArgumentException - プロパティへのネストした参照が null を返す場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getProperty

public static java.lang.String getProperty(java.lang.Object bean,
                                           java.lang.String name)
                                    throws java.lang.IllegalAccessException,
                                           java.lang.reflect.InvocationTargetException,
                                           java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定したプロパティの値を、プロパティの参照フォーマット に関わらず、Stringとして返します。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティの、インデックスがあるかネストしていると思われる名前
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

getSimpleProperty

public static java.lang.String getSimpleProperty(java.lang.Object bean,
                                                 java.lang.String name)
                                          throws java.lang.IllegalAccessException,
                                                 java.lang.reflect.InvocationTargetException,
                                                 java.lang.NoSuchMethodException
推奨されていません。 
指定した bean の指定したシンプルプロパティの値を String に変換して返します。

パラメータ:
bean - プロパティを取り出す bean
name - 取り出すプロパティの名前
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合
java.lang.NoSuchMethodException - このプロパティのアクセッサメソッドが見つからない場合

populate

public static void populate(java.lang.Object bean,
                            java.util.Map properties)
                     throws java.lang.IllegalAccessException,
                            java.lang.reflect.InvocationTargetException
推奨されていません。 
指定した bean の JavaBeans プロパティを、指定した名前/値ペアに基づいて 設定します。 このメソッドは Java リフレクション API を使用して対応する 「プロパティのセッター」メソッド名を認識し、String, boolean, int, long, float, double 型の引数を処理します。加えて、これらの型(もしくは それに対応するプリミティブ型)の配列のセッターも認識されます。

各プロパティに対して呼ばれるセッターメソッドは通常の JavaBeans イントロスペクションのメカニズムによって決定されます。かくして、 bean のクラスと関連付けされた BeanInfo クラスを使うことにより、 独自のセッターメソッドを認識することもできます。そのような BeanInfo クラスが利用できない場合は、標準のメソッド名変換("set" + 当該のプロパティの先頭を大文字にした名称)が使用されます。

注意: 同一のプロパティに対して(異なる引数シグニチャで) 複数のセッターメソッドをもつことは JavaBeans 仕様に反します。

パラメータ:
bean - プロパティを設定する JavaBean
properties - プロパティ名をキーとし、対応する(String または String[] の)値をもつ Map
例外:
java.lang.IllegalAccessException - 呼び出し元がプロパティのアクセッサメソッドへのアクセス権を持たない場合
java.lang.reflect.InvocationTargetException - プロパティのアクセッサメソッドが例外をスローした場合


このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2002 - Apache Software Foundation