俺の雑記帳

My random memorandumです。(つまり、個人的な備忘録であり、その点ご容赦を。)

変数など識別子を動的に変えたい →(追記)GAEjなら multi-valued property types が使える??

変数を data00 から data29 まで(後に249まで?!)扱わなくてはならないが、GAEjのDBオブジェクトなため、配列を使えない(⇒誤りかも。下の追記参照)。
あまりまだ読んでないが、以下の技術を応用できるか?
文字列からインスタンスを生成
Javaメソッドの動的に実行(リフレクションAPI)
Reflectionを利用して再帰的にオブジェクトの内容を文字列化する:CodeZine
ちなみに上記3つのうち最後のは、掲題の件とは違い、デバッグ目的でたどり着いた(本番環境でしか起こらない事象があり、Eclipseを活用できなかった)。結局凡ミス発見し解決したので、こちらも未読。
---
(追記 5/7)
Java:リフレクションを使って可変変数を実現する
コード例が欲しかったそのもの。
クラス名が固定のときは、
「Class cls = Class.forName("packagename.Entity");
cls.getDeclaredField("column" + idx)」
の代わりに、
「Entity.class.getDeclaredField("column" + idx)」
---
(追記(4月中))
データストア < Google App Engine の機能 (keicode.com)
プロパティの説明で、『複数の値を保持することもできる これをマルチバリュー・プロパティ (multivalued properties) という。』の既述を見つけた。
How Entities and Indexes are Stored < Google Developers
Googleのドキュメントであるこっちで調べようかな。

⇒今回は、速度が要求されるので、採用せず。( multivalued properties を使うと遅くなる、というようなパフォーマンス検証や根拠となる資料があるわけではない。単なる推測。)