annotate src/treecms/tree/id/IncrementalIDProvider.java @ 27:aecc55e87143 default tip

test commit
author Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
date Thu, 18 Aug 2011 17:37:03 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package treecms.tree.id;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.util.concurrent.atomic.AtomicLong;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import treecms.api.NodeID;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 public class IncrementalIDProvider implements NodeIDProvider
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 {
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 private final String m_prefix;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 private final AtomicLong m_count;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 public IncrementalIDProvider(String _prefix,long _count)
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 {
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 m_prefix = _prefix;
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 m_count = new AtomicLong(_count);
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 }
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 @Override
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 public NodeID create()
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 {
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 String fid = String.format("%s-%s",m_prefix,m_count.getAndIncrement());
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 return new IncrementalID(fid);
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 @Override
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 public String toString()
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 {
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 return String.format("prefix=%s,count=%d",m_prefix,m_count.get());
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 }
aecc55e87143 test commit
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }