SimpleDB で簡単にデータを取得するユーティリティ(1)

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();

続きはまた別のエントリーで。