特定のメソッドの呼び出しに関連する String プロパティがあります。
アイコンプロパティを持つこのDTOがあります
public class MyDto
{
String icon; // "first", "second", "third" etc
public String getIcon()
{
return icon;
}
}
私のインターフェイスには、次のメソッドがあります: (GWT ClientBundle)
public interface MyClientBundle extends ClientBundle
{
@Source("icon_first.jpg")
ImageResource icon_first();
@Source("logo_second.jpg")
ImageResource icon_second();
@Source("icon_third.jpg")
ImageResource icon_third();
}
現在、選択ステートメントで非効率的なルックアップを使用していますが、代わりに文字列を作成して正しい方法を選択したいと考えています。
public ImageResource getValue(MyDto object)
{
return getIconFromCode(object.getIcon());
}
private ImageResource getIconFromCode(String code)
{
if(code.equalsIgnoreCase("first"))
{
return resources.icon_first();
}
else if(code.equalsIgnoreCase("second"))
{
return resources.icon_second();
}
else if(code.equalsIgnoreCase("third"))
{
return resources.icon_third();
}
else
{
return resources.icon_default();
}
}
代わりに、次のような正しいメソッドを選択する文字列を作成したい"icon_" + object.getIcon()+ "()"
いくつかの調査を行った結果、リフレクションを使用する必要があることがわかりましたか?これはどのように達成されますか?