Mercurial > projects > dwt2
view java/src/java/lang/StringBuffer.d @ 3:4c0057e71936
Made a class for StringBuffer
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 04 Mar 2009 22:35:46 +0100 |
parents | |
children | c4b1a29263fc |
line wrap: on
line source
module java.lang.StringBuffer; import java.lang.util; static import tango.text.Text; static import tango.text.convert.Utf; class StringBuffer : CharSequence { alias tango.text.Text.Text!(char) TBuf; TBuf buf; public this(){ buf = new TBuf(); } public this( int cap ){ buf = new TBuf( cap ); } public this( String content ){ buf = new TBuf( content ); } char charAt(int index){ return buf.slice()[ index ]; } int length(){ return buf.length(); } CharSequence subSequence(int start, int end){ return new StringBuffer( buf.slice()[ start .. end ] ); } String toString(){ return buf.slice(); } StringBuffer append( String s ){ buf.append( s ); return this; } StringBuffer append( String s, int offset, int len ){ buf.append( s[ offset .. offset+len ] ); return this; } StringBuffer append( char c ){ buf.append( c ); return this; } StringBuffer append( wchar c ){ wchar[1] src; src[0] = c; char[2] trg; auto s = tango.text.convert.Utf.toString( src, trg ); buf.append( s ); return this; } StringBuffer append( int i ){ buf.append( String_valueOf(i) ); return this; } StringBuffer append( dchar c ){ dchar[1] src; src[0] = c; char[4] trg; auto s = tango.text.convert.Utf.toString( src, trg ); buf.append( s ); return this; } StringBuffer insert(int offset, String str){ buf.select(offset, 0); buf.replace(str); buf.select(); return this; } StringBuffer replace(int start, int end, String str) { buf.select(start, end-start); buf.replace(str); buf.select(); return this; } }