SimpleDB でデータを取得する場合、以下のように中身を取り出す必要があり、コードの量がとても多くなってしまいます。
GetAttributesResult result = client.getAttributes(new GetAttributesRequest(domain, itemName) .withConsistentRead(true)); Iterator<Attribute> iterator = result.getAttributes().iterator(); String name = null; String company = null; Date date = null; while (iterator.hasNext()) { Attribute next = iterator.next(); if ("name".equals(next.getName())) { name = next.getValue(); continue; } if ("company".equals(next.getName())) { name = next.getValue(); continue; } if ("date".equals(next.getName())) { date = SimpleDBUtils.decodeDate(next.getValue()); continue; } }
O/Rマッパーと呼べるほどしっかりしたものではないですが、以下のようなインターフェースで取得できるような簡単なユーティリティを紹介していきます。
CustomerItem item = SimpleDB.get(CustomerItem.class, domain, itemName); String name = item.getName(); String company = item.getCompany(); Date date = item.getDate();
続きはまた別のエントリーで。