Mercurial > projects > dwt2
view 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 |
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( StringBuffer other ){ buf.append( other.slice() ); return this; } StringBuffer append( Object obj ){ buf.append( obj.toString() ); 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( long 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 insert(int offset, StringBuffer other){ insert( offset, other.slice()); return this; } StringBuffer replace(int start, int end, String str) { buf.select(start, end-start); buf.replace(str); buf.select(); return this; } void setLength( int newLength ){ buf.truncate( newLength ); } String substring( int start, int end ){ return buf.slice()[ start .. end ].dup; } void delete_( int start, int end ){ buf.select( start, end - start ); buf.remove(); } String slice(){ return buf.slice(); } void truncate( int start ){ buf.truncate( start ); } }