Slim3 の BeanUtil で特定の値を処理対象外にしたい場合

例えば、渡された値が一意でその値を Key として利用したい場合や、タイムスタンプを Java で利用できるミリ秒単位に変換したい場合などで、BeanUtil で処理をする前に一度別の処理を行いたいときに使う。

public class ItemService {
    private ItemMeta a = new ItemMeta();

    public Item post(Map<String, Object> input) {
        Item Item = new Item();
        // exclude に処理対象外にしたい変数名を記入する
        // See at http://slim3.googlecode.com/svn/trunk/slim3/javadoc/org/slim3/util/CopyOptions.html
        BeanUtil.copy(input, Item, new CopyOptions().exclude("jan", "name"));
        key key = Datastore.createKey(Item.class, input.get("jan").toString());
        Item.setKey(key);
        ...