Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/PutAttribute.java @ 79:b4f145174970
change log
author | one |
---|---|
date | Sun, 31 Aug 2014 02:10:14 +0900 |
parents | 540a27dde42f |
children | 715a9fbf02fc |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; import java.nio.ByteBuffer; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNodeAttributes; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; public class PutAttribute implements NodeEditor { private final String key; private final ByteBuffer value; public PutAttribute(String _key,ByteBuffer _value) { key = _key; value = _value; } @Override public <T extends TreeNode<T>> Either<Error,T> edit(T _e) { TreeNodeAttributes<T> attrs = _e.getAttributes(); return attrs.put(key,value); } @Override public OperationLog getLog() { OperationLog op = new DefaultOperationLog(); PutAttributeOperation putAttribute = new PutAttributeOperation(key,value); return op.add(putAttribute); } }