Mercurial > hg > Database > jungle-sharp
comparison src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle-main/store/impl/logger/LoggingAttributes.cs @ 10:abe0c247f5a5
Add Network module. but, unComplete NetworkDefaultJungleTreeEditor.cs
author | Kazuma Takeda <kazuma-arashi@hotmail.co.jp> |
---|---|
date | Sun, 23 Oct 2016 07:40:50 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
9:e6ad9016601c | 10:abe0c247f5a5 |
---|---|
1 using UnityEngine; | |
2 | |
3 public class LoggingAttributes { | |
4 | |
5 private TreeNode wrap; | |
6 private OperationLog log; | |
7 | |
8 public LoggingAttributes(TreeNode _wrap,OperationLog _log) | |
9 { | |
10 wrap = _wrap; | |
11 log = _log; | |
12 } | |
13 | |
14 public byte[] get(string _key) | |
15 { | |
16 TreeNodeAttributes attributes = wrap.getAttributes(); | |
17 return attributes.get(_key); | |
18 } | |
19 | |
20 private Either<Error,LoggingNode> edit(NodeOperation _op) | |
21 { | |
22 Either<Error,TreeNode> either = _op.invoke(wrap); | |
23 if(either.isA()){ | |
24 Debug.Log ("faild put"); | |
25 return DefaultEither<Error,LoggingNode>.newA(either.a()); | |
26 } | |
27 | |
28 TreeNode newNode = either.b(); | |
29 OperationLog newLog = log.add(_op); | |
30 LoggingNode newLogNode = new LoggingNode(newNode,newLog); | |
31 | |
32 return DefaultEither<Error,LoggingNode>.newB(newLogNode); | |
33 } | |
34 | |
35 public Either<Error,LoggingNode> delete(string _key) | |
36 { | |
37 | |
38 DeleteAttributeOperation deleteAttribute = new DeleteAttributeOperation(_key); | |
39 return edit(deleteAttribute); | |
40 } | |
41 | |
42 public Either<Error,LoggingNode> put(string _key, byte[] _value) | |
43 { | |
44 PutAttributeOperation putAttribute = new PutAttributeOperation(_key,_value); | |
45 return edit(putAttribute); | |
46 } | |
47 | |
48 } |