annotate base/src/java/lang/ThreadLocal.d @ 112:9f4c18c268b2

Update to compile and execute with dmd 2.052.
author kntroh
date Wed, 16 Mar 2011 21:53:53 +0900
parents 5d5bd660917f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 module java.lang.ThreadLocal;
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 import java.lang.util;
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3
112
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
4 version(Tango){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
5 static import tango.core.Thread;
99
5d5bd660917f build some databind snippets
Frank Benoit <benoit@tionex.de>
parents: 84
diff changeset
6
112
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
7 class ThreadLocal{
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
8 alias tango.core.Thread.ThreadLocal!(Object) TLSType;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
9 TLSType tls;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
10 this(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
11 tls = new TLSType( initialValue() );
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
12 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
13 Object get(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
14 return tls.val();
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
15 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
16 protected Object initialValue(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
17 return null;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
18 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
19 void set(Object value){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
20 return tls.val( value );
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
21 }
84
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 }
112
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
23 } else { // Phobos
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
24 class ThreadLocal{
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
25 Object tls;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
26 this(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
27 tls = initialValue();
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
28 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
29 Object get(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
30 return tls;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
31 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
32 protected Object initialValue(){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
33 return null;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
34 }
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
35 void set(Object value){
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
36 return tls = value;
9f4c18c268b2 Update to compile and execute with dmd 2.052.
kntroh
parents: 99
diff changeset
37 }
84
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 }
fcf926c91ca4 Added base classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 }