Mercurial > hg > Database > jungle-sharp
view src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle/store/impl/logger/LoggingAttributes.cs @ 6:4d08270a61c8
fix
author | Kazuma |
---|---|
date | Tue, 19 Jul 2016 16:47:43 +0900 |
parents | dec15de2c6ff |
children |
line wrap: on
line source
using UnityEngine; public class LoggingAttributes { private TreeNode wrap; private OperationLog log; public LoggingAttributes(TreeNode _wrap,OperationLog _log) { wrap = _wrap; log = _log; } public byte get(string _key) { TreeNodeAttributes attributes = wrap.getAttributes(); return attributes.get(_key); } private Either<Error,LoggingNode> edit(NodeOperation _op) { Either<Error,TreeNode> either = _op.invoke(wrap); if(either.isA()){ Debug.Log ("faild put"); return DefaultEither<Error,LoggingNode>.newA(either.a()); } TreeNode newNode = either.b(); OperationLog newLog = log.add(_op); LoggingNode newLogNode = new LoggingNode(newNode,newLog); return DefaultEither<Error,LoggingNode>.newB(newLogNode); } public Either<Error,LoggingNode> delete(string _key) { DeleteAttributeOperation deleteAttribute = new DeleteAttributeOperation(_key); return edit(deleteAttribute); } public Either<Error,LoggingNode> put(string _key, byte _value) { PutAttributeOperation putAttribute = new PutAttributeOperation(_key,_value); return edit(putAttribute); } }