00001 #ifndef xmogInc_javalangString
00002 #define xmogInc_javalangString
00003
00004 # if !defined(JMS_DECLSPEC )
00005 # if defined(_MSC_VER)
00006 # pragma message( "Relying on default definition of JMS_DECLSPEC " )
00007 # endif
00008
00009
00010 # define JMS_DECLSPEC
00011 # endif
00012
00013 # if (XMOG_SUPPORTS_STD==1)
00014 # include <string>
00015 # endif
00016
00017 namespace java
00018 {
00019 namespace lang
00020 {
00021 class CharSequence;
00022 class Object;
00023 class String;
00024 class StringBuffer;
00025 }
00026 }
00027
00028 # include "java_io_Serializable.h"
00029 # include "java_lang_Comparable.h"
00030 # include "java_lang_CharSequence.h"
00031
00032
00033 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00034 # if defined(new)
00035 # undef new
00036 # endif
00037 # if defined(delete)
00038 # undef delete
00039 # endif
00040 # endif
00041
00100 class JMS_DECLSPEC java::lang::String :
00101 public ::java::io::Serializable,
00102 public ::java::lang::Comparable,
00103 public ::java::lang::CharSequence
00104 {
00105 public:
00106 enum
00107 {
00108 xmogDefaultFlags = xmog_base::GLOBAL,
00109 xmogMajorVersion = 3,
00110 xmogMinorVersion = 2,
00111 xmogPatchVersion = 9,
00112 xmogBuildNumber = 2047
00113 };
00114
00115 public:
00116
00117 typedef ::xmog_java_array_template< ::java::lang::String > array1D;
00118
00119 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::lang::String > > array2D;
00120
00121 private:
00129 void * xmog_ptr_;
00130
00131
00133
00134 public:
00151 String( );
00152
00165 String( const ::java::lang::String & _rhs );
00166
00179 String( jobject _local, xmog_flags f_xflags );
00180
00193 String( const ::xmog_null & _null_instance );
00194
00205 String( ::xmog_java_array * _arr, jint _index );
00206
00220 String( const ::java::lang::String & _rhs, ::xmog_localenv * p_lxenv );
00221
00233 XMOG_EXPLICIT String( ::xmog_base * _delegate, bool _owns_delegate = true );
00234
00235 # if (XMOG_SUPPORTS_WCHAR_T==1)
00250 String( const XMOG_WCHAR _str[], jint _len = -1, ::xmog_localenv * _env = NULL );
00251 # endif
00252
00253 # if (XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD==1)
00268 String( const unsigned short _str[], jint _len = -1, ::xmog_localenv * _env = NULL );
00269 # endif
00270
00287 String( const char * _str, jint _len = -1, ::xmog_base * _enc = NULL, ::xmog_localenv * _env = NULL );
00288
00302 String( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00303
00304 # if (XMOG_SUPPORTS_MFC==1)
00321 String( const std::string & _str, jint _len = -1, ::xmog_base * _enc = NULL, ::xmog_localenv * _env = NULL );
00322 # endif
00323
00325
00339 String( ::xmog_dummy _use_java_ctor, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00340
00354 String( const ::java::lang::StringBuffer & buffer, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00355
00370 String( const ::xmog_java_char_array & value, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00371
00389 String( const ::xmog_java_byte_array & bytes, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00390
00409 String( const ::xmog_java_byte_array & ascii, jint hibyte, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00410
00427 String( const ::java::lang::String & original, ::xmog_dummy _use_java_ctor, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00428
00447 String( const ::xmog_java_char_array & value, jint offset, jint count, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00448
00459 String( jint offset, jint count, const ::xmog_java_char_array & value, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00460
00480 String( const ::xmog_java_byte_array & bytes, jint offset, jint length, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00481
00501 String( const ::xmog_java_byte_array & bytes, const ::java::lang::String & charsetName, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00502
00524 String( const ::xmog_java_byte_array & ascii, jint hibyte, jint offset, jint count, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00525
00547 String( const ::xmog_java_byte_array & bytes, jint offset, jint length, const ::java::lang::String & charsetName, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00548
00550
00557 ~String( );
00558
00571 java::lang::String operator =( const java::lang::String & _rhs );
00572
00573 # if (XMOG_SUPPORTS_WCHAR_T==1)
00591 operator const XMOG_WCHAR *( ) const;
00592 # endif
00593
00612 operator const char *( ) const;
00613
00628 void operator delete( void * _ptr );
00629
00630 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00646 void operator delete( void * ptr, void * loc );
00647 # endif
00648
00663 void * operator new( size_t _size );
00664
00665 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00683 void * operator new( size_t _size, void * _ptr );
00684 # endif
00685
00687
00705 jchar charAt( jint index, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00706
00728 jint compareTo( const ::java::lang::Object & o, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00729
00778 jint compareTo( const ::java::lang::String & anotherString, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00779
00805 jint compareToIgnoreCase( const ::java::lang::String & str, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00806
00834 ::java::lang::String concat( const ::java::lang::String & str, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00835
00850 bool contentEquals( const ::java::lang::StringBuffer & sb, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00851
00865 static ::java::lang::String copyValueOf( const ::xmog_java_char_array & data, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00866
00882 static ::java::lang::String copyValueOf( const ::xmog_java_char_array & data, jint offset, jint count, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00883
00885
00906 static ::java::lang::String dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00907
00909
00926 bool endsWith( const ::java::lang::String & suffix, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00927
00946 bool equals( const ::java::lang::Object & anObject, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00947
00976 bool equalsIgnoreCase( const ::java::lang::String & anotherString, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00977
00995 ::xmog_java_byte_array getBytes( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00996
01016 ::xmog_java_byte_array getBytes( const ::java::lang::String & charsetName, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01017
01049 void getBytes( jint srcBegin, jint srcEnd, const ::xmog_java_byte_array & dst, jint dstBegin, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01050
01080 void getChars( jint srcBegin, jint srcEnd, const ::xmog_java_char_array & dst, jint dstBegin, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01081
01083
01097 static ::xmog_java_class * get_class( );
01098
01107 static ::xmog_java_class * get_element_class( );
01108
01110
01131 jint hashCode( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01132
01157 jint indexOf( jint ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01158
01194 jint indexOf( jint ch, jint fromIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01195
01218 jint indexOf( const ::java::lang::String & str, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01219
01241 jint indexOf( const ::java::lang::String & str, jint fromIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01242
01274 ::java::lang::String intern( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01275
01298 jint lastIndexOf( jint ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01299
01330 jint lastIndexOf( jint ch, jint fromIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01331
01355 jint lastIndexOf( const ::java::lang::String & str, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01356
01378 jint lastIndexOf( const ::java::lang::String & str, jint fromIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01379
01395 jint length( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01396
01418 bool matches( const ::java::lang::String & regex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01419
01458 bool regionMatches( jint toffset, const ::java::lang::String & other, jint ooffset, jint len, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01459
01517 bool regionMatches( bool ignoreCase, jint toffset, const ::java::lang::String & other, jint ooffset, jint len, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01518
01555 ::java::lang::String replace( jchar oldChar, jchar newChar, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01556
01580 ::java::lang::String replaceAll( const ::java::lang::String & regex, const ::java::lang::String & replacement, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01581
01605 ::java::lang::String replaceFirst( const ::java::lang::String & regex, const ::java::lang::String & replacement, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01606
01640 ::xmog_java_array_template< ::java::lang::String > split( const ::java::lang::String & regex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01641
01713 ::xmog_java_array_template< ::java::lang::String > split( const ::java::lang::String & regex, jint limit, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01714
01732 bool startsWith( const ::java::lang::String & prefix, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01733
01756 bool startsWith( const ::java::lang::String & prefix, jint toffset, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01757
01786 ::java::lang::CharSequence subSequence( jint beginIndex, jint endIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01787
01809 ::java::lang::String substring( jint beginIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01810
01834 ::java::lang::String substring( jint beginIndex, jint endIndex, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01835
01848 ::xmog_java_char_array toCharArray( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01849
01865 ::java::lang::String toLowerCase( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01866
01877 ::java::lang::String toString( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01878
01894 ::java::lang::String toUpperCase( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01895
01897
01918 const char * to_chars( ::xmog_localenv * _env = NULL ) const;
01919
01942 const char * to_chars( ::xmog_base * _enc, ::xmog_localenv * _env = NULL ) const;
01943
01963 const char * to_charsUtf8( ::xmog_localenv * _env = NULL ) const;
01964
01985 const unsigned short * to_u16( ::xmog_localenv * _env = NULL ) const;
01986
01987 # if (XMOG_SUPPORTS_WCHAR_T==1)
02008 const XMOG_WCHAR * to_wchars( ::xmog_localenv * _env = NULL ) const;
02009 # endif
02010
02012
02052 ::java::lang::String trim( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02053
02068 static ::java::lang::String valueOf( bool b, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02069
02086 static ::java::lang::String valueOf( jint i, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02087
02104 static ::java::lang::String valueOf( jlong l, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02105
02119 static ::java::lang::String valueOf( jchar c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02120
02137 static ::java::lang::String valueOf( jfloat f, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02138
02156 static ::java::lang::String valueOf( jdouble d, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02157
02172 static ::java::lang::String valueOf( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02173
02191 static ::java::lang::String valueOf( const ::xmog_java_char_array & data, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02192
02217 static ::java::lang::String valueOf( const ::xmog_java_char_array & data, jint offset, jint count, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
02218
02220
02239 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
02240
02249 virtual void xmog_invalidate( ::xmog_localenv * p_lxenv = NULL );
02251
02252 };
02253 #endif
02254