Mercurial > projects > dwt2
annotate java/src/java/lang/StringBuffer.d @ 16:dbfb303e8fb0
first complete successful compile (win-only)
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 18 Mar 2009 08:56:47 +0100 |
parents | c4b1a29263fc |
children | 9b96950f2c3c |
rev | line source |
---|---|
3 | 1 module java.lang.StringBuffer; |
2 | |
3 import java.lang.util; | |
4 | |
5 static import tango.text.Text; | |
6 static import tango.text.convert.Utf; | |
7 | |
8 class StringBuffer : CharSequence { | |
9 alias tango.text.Text.Text!(char) TBuf; | |
10 TBuf buf; | |
11 | |
12 public this(){ | |
13 buf = new TBuf(); | |
14 } | |
15 | |
16 public this( int cap ){ | |
17 buf = new TBuf( cap ); | |
18 } | |
19 | |
20 public this( String content ){ | |
21 buf = new TBuf( content ); | |
22 } | |
23 | |
24 char charAt(int index){ | |
25 return buf.slice()[ index ]; | |
26 } | |
27 | |
28 int length(){ | |
29 return buf.length(); | |
30 } | |
31 | |
32 CharSequence subSequence(int start, int end){ | |
33 return new StringBuffer( buf.slice()[ start .. end ] ); | |
34 } | |
35 | |
36 String toString(){ | |
37 return buf.slice(); | |
38 } | |
39 | |
40 StringBuffer append( String s ){ | |
41 buf.append( s ); | |
42 return this; | |
43 } | |
44 | |
45 StringBuffer append( String s, int offset, int len ){ | |
46 buf.append( s[ offset .. offset+len ] ); | |
47 return this; | |
48 } | |
49 | |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
50 StringBuffer append( StringBuffer other ){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
51 buf.append( other.slice() ); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
52 return this; |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
53 } |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
54 |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
55 StringBuffer append( Object obj ){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
56 buf.append( obj.toString() ); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
57 return this; |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
58 } |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
59 |
3 | 60 StringBuffer append( char c ){ |
61 buf.append( c ); | |
62 return this; | |
63 } | |
64 | |
65 StringBuffer append( wchar c ){ | |
66 wchar[1] src; | |
67 src[0] = c; | |
68 char[2] trg; | |
69 auto s = tango.text.convert.Utf.toString( src, trg ); | |
70 buf.append( s ); | |
71 return this; | |
72 } | |
73 | |
74 StringBuffer append( int i ){ | |
75 buf.append( String_valueOf(i) ); | |
76 return this; | |
77 } | |
78 | |
15
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
79 StringBuffer append( long i ){ |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
80 buf.append( String_valueOf(i) ); |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
81 return this; |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
82 } |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
83 |
3 | 84 StringBuffer append( dchar c ){ |
85 dchar[1] src; | |
86 src[0] = c; | |
87 char[4] trg; | |
88 auto s = tango.text.convert.Utf.toString( src, trg ); | |
89 buf.append( s ); | |
90 return this; | |
91 } | |
92 | |
93 | |
94 StringBuffer insert(int offset, String str){ | |
95 buf.select(offset, 0); | |
96 buf.replace(str); | |
97 buf.select(); | |
98 return this; | |
99 } | |
100 | |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
101 StringBuffer insert(int offset, StringBuffer other){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
102 insert( offset, other.slice()); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
103 return this; |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
104 } |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
105 |
3 | 106 StringBuffer replace(int start, int end, String str) { |
107 buf.select(start, end-start); | |
108 buf.replace(str); | |
109 buf.select(); | |
110 return this; | |
111 } | |
15
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
112 |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
113 void setLength( int newLength ){ |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
114 buf.truncate( newLength ); |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
115 } |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
116 |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
117 String substring( int start, int end ){ |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
118 return buf.slice()[ start .. end ].dup; |
c4b1a29263fc
Successful build of org.eclipse.text
Frank Benoit <benoit@tionex.de>
parents:
3
diff
changeset
|
119 } |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
120 |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
121 void delete_( int start, int end ){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
122 buf.select( start, end - start ); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
123 buf.remove(); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
124 } |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
125 String slice(){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
126 return buf.slice(); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
127 } |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
128 void truncate( int start ){ |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
129 buf.truncate( start ); |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
15
diff
changeset
|
130 } |
3 | 131 } |
132 | |
133 |