annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultAttributes.java @ 37:35e327577b58

added transaction
author Shoshi TAMAKI
date Sat, 26 Jan 2013 22:52:32 +0900
parents 3dfa0be90a0d
children cb9fabaedfd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
Shoshi TAMAKI
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl;
Shoshi TAMAKI
parents:
diff changeset
2
Shoshi TAMAKI
parents:
diff changeset
3 import java.nio.ByteBuffer;
Shoshi TAMAKI
parents:
diff changeset
4
24
Shoshi TAMAKI
parents: 23
diff changeset
5 import fj.data.List;
10
Shoshi TAMAKI
parents:
diff changeset
6 import fj.data.Option;
Shoshi TAMAKI
parents:
diff changeset
7 import fj.data.TreeMap;
Shoshi TAMAKI
parents:
diff changeset
8
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Attributes;
23
Shoshi TAMAKI
parents: 12
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes;
Shoshi TAMAKI
parents: 12
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
24
Shoshi TAMAKI
parents: 23
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
Shoshi TAMAKI
parents: 23
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
Shoshi TAMAKI
parents: 23
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
10
Shoshi TAMAKI
parents:
diff changeset
15
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
16 public class DefaultAttributes implements Attributes<String,ByteBuffer>
10
Shoshi TAMAKI
parents:
diff changeset
17 {
Shoshi TAMAKI
parents:
diff changeset
18 private final TreeMap<String,ByteBuffer> attrs;
Shoshi TAMAKI
parents:
diff changeset
19
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
20 public DefaultAttributes(TreeMap<String,ByteBuffer> _attrs)
10
Shoshi TAMAKI
parents:
diff changeset
21 {
Shoshi TAMAKI
parents:
diff changeset
22 attrs = _attrs;
Shoshi TAMAKI
parents:
diff changeset
23 }
Shoshi TAMAKI
parents:
diff changeset
24
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
25 /*
24
Shoshi TAMAKI
parents: 23
diff changeset
26 @Override
36
Shoshi TAMAKI
parents: 24
diff changeset
27 public Either<Error,DefaultNode> put(String _key,ByteBuffer _value)
10
Shoshi TAMAKI
parents:
diff changeset
28 {
24
Shoshi TAMAKI
parents: 23
diff changeset
29 TreeMap<String,ByteBuffer> newAttrs = attrs.set(_key,_value);
Shoshi TAMAKI
parents: 23
diff changeset
30 EditableNode newNode = new DefaultNode(children,newAttrs);
Shoshi TAMAKI
parents: 23
diff changeset
31
Shoshi TAMAKI
parents: 23
diff changeset
32 return DefaultEither.newB(newNode);
10
Shoshi TAMAKI
parents:
diff changeset
33 }
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
34 */
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
35
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
36 public TreeMap<String,ByteBuffer> getAttributesAsRawMap()
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
37 {
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
38 return attrs;
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
39 }
10
Shoshi TAMAKI
parents:
diff changeset
40
Shoshi TAMAKI
parents:
diff changeset
41 @Override
Shoshi TAMAKI
parents:
diff changeset
42 public ByteBuffer get(String _key)
Shoshi TAMAKI
parents:
diff changeset
43 {
Shoshi TAMAKI
parents:
diff changeset
44 Option<ByteBuffer> result = attrs.get(_key);
Shoshi TAMAKI
parents:
diff changeset
45 return result.isSome() ? result.some() : null;
Shoshi TAMAKI
parents:
diff changeset
46 }
23
Shoshi TAMAKI
parents: 12
diff changeset
47
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
48 /*
24
Shoshi TAMAKI
parents: 23
diff changeset
49 @Override
Shoshi TAMAKI
parents: 23
diff changeset
50 public Either<Error,EditableNode> delete(String _key)
Shoshi TAMAKI
parents: 23
diff changeset
51 {
Shoshi TAMAKI
parents: 23
diff changeset
52 return null;
Shoshi TAMAKI
parents: 23
diff changeset
53 }
37
35e327577b58 added transaction
Shoshi TAMAKI
parents: 36
diff changeset
54 */
10
Shoshi TAMAKI
parents:
diff changeset
55 }