00001 #ifndef xmogInc_javalangCharacter
00002 #define xmogInc_javalangCharacter
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 namespace java
00014 {
00015 namespace lang
00016 {
00017 class Character;
00018 class Class;
00019 class Object;
00020 class String;
00021 }
00022 }
00023
00024 # include "java_io_Serializable.h"
00025 # include "java_lang_Comparable.h"
00026
00027
00028 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00029 # if defined(new)
00030 # undef new
00031 # endif
00032 # if defined(delete)
00033 # undef delete
00034 # endif
00035 # endif
00036
00073 class JMS_DECLSPEC java::lang::Character :
00074 public ::java::io::Serializable,
00075 public ::java::lang::Comparable
00076 {
00077 public:
00078 enum
00079 {
00080 xmogDefaultFlags = xmog_base::GLOBAL,
00081 xmogMajorVersion = 3,
00082 xmogMinorVersion = 2,
00083 xmogPatchVersion = 9,
00084 xmogBuildNumber = 2047
00085 };
00086
00087 public:
00088
00089 typedef ::xmog_java_array_template< ::java::lang::Character > array1D;
00090
00091 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::lang::Character > > array2D;
00092 public:
00093 class UnicodeBlock;
00094 class Subset;
00095
00096
00097 public:
00101 static xmog_byte COMBINING_SPACING_MARK;
00102
00106 static xmog_byte CONNECTOR_PUNCTUATION;
00107
00111 static xmog_byte CONTROL;
00112
00116 static xmog_byte CURRENCY_SYMBOL;
00117
00121 static xmog_byte DASH_PUNCTUATION;
00122
00126 static xmog_byte DECIMAL_DIGIT_NUMBER;
00127
00131 static xmog_byte DIRECTIONALITY_ARABIC_NUMBER;
00132
00136 static xmog_byte DIRECTIONALITY_BOUNDARY_NEUTRAL;
00137
00141 static xmog_byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR;
00142
00146 static xmog_byte DIRECTIONALITY_EUROPEAN_NUMBER;
00147
00151 static xmog_byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR;
00152
00156 static xmog_byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR;
00157
00161 static xmog_byte DIRECTIONALITY_LEFT_TO_RIGHT;
00162
00166 static xmog_byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
00167
00171 static xmog_byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE;
00172
00176 static xmog_byte DIRECTIONALITY_NONSPACING_MARK;
00177
00181 static xmog_byte DIRECTIONALITY_OTHER_NEUTRALS;
00182
00186 static xmog_byte DIRECTIONALITY_PARAGRAPH_SEPARATOR;
00187
00191 static xmog_byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT;
00192
00196 static xmog_byte DIRECTIONALITY_RIGHT_TO_LEFT;
00197
00201 static xmog_byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
00202
00206 static xmog_byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
00207
00211 static xmog_byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE;
00212
00216 static xmog_byte DIRECTIONALITY_SEGMENT_SEPARATOR;
00217
00224 static xmog_byte DIRECTIONALITY_UNDEFINED;
00225
00229 static xmog_byte DIRECTIONALITY_WHITESPACE;
00230
00234 static xmog_byte ENCLOSING_MARK;
00235
00239 static xmog_byte END_PUNCTUATION;
00240
00244 static xmog_byte FINAL_QUOTE_PUNCTUATION;
00245
00249 static xmog_byte FORMAT;
00250
00254 static xmog_byte INITIAL_QUOTE_PUNCTUATION;
00255
00259 static xmog_byte LETTER_NUMBER;
00260
00264 static xmog_byte LINE_SEPARATOR;
00265
00269 static xmog_byte LOWERCASE_LETTER;
00270
00274 static xmog_byte MATH_SYMBOL;
00275
00286 static xmog_int MAX_RADIX;
00287
00292 static xmog_char MAX_VALUE;
00293
00304 static xmog_int MIN_RADIX;
00305
00310 static xmog_char MIN_VALUE;
00311
00315 static xmog_byte MODIFIER_LETTER;
00316
00320 static xmog_byte MODIFIER_SYMBOL;
00321
00325 static xmog_byte NON_SPACING_MARK;
00326
00330 static xmog_byte OTHER_LETTER;
00331
00335 static xmog_byte OTHER_NUMBER;
00336
00340 static xmog_byte OTHER_PUNCTUATION;
00341
00345 static xmog_byte OTHER_SYMBOL;
00346
00350 static xmog_byte PARAGRAPH_SEPARATOR;
00351
00355 static xmog_byte PRIVATE_USE;
00356
00360 static xmog_byte SPACE_SEPARATOR;
00361
00365 static xmog_byte START_PUNCTUATION;
00366
00370 static xmog_byte SURROGATE;
00371
00375 static xmog_byte TITLECASE_LETTER;
00376
00381 static ::java::lang::Class TYPE;
00382
00386 static xmog_byte UNASSIGNED;
00387
00391 static xmog_byte UPPERCASE_LETTER;
00392
00393
00395
00412 Character( );
00413
00426 Character( const ::java::lang::Character & _rhs );
00427
00440 Character( jobject _local, xmog_flags f_xflags );
00441
00454 Character( const ::xmog_null & _null_instance );
00455
00466 Character( ::xmog_java_array * _arr, jint _index );
00467
00481 Character( const ::java::lang::Character & _rhs, ::xmog_localenv * p_lxenv );
00482
00494 XMOG_EXPLICIT Character( ::xmog_base * _delegate, bool _owns_delegate = true );
00495
00497
00508 Character( jchar value, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00509
00511
00525 Character( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00526
00533 ~Character( );
00534
00547 java::lang::Character operator =( const java::lang::Character & _rhs );
00548
00563 void operator delete( void * _ptr );
00564
00565 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00581 void operator delete( void * ptr, void * loc );
00582 # endif
00583
00598 void * operator new( size_t _size );
00599
00600 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00618 void * operator new( size_t _size, void * _ptr );
00619 # endif
00620
00622
00634 jchar charValue( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00635
00659 jint compareTo( const ::java::lang::Object & o, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00660
00679 jint compareTo( const ::java::lang::Character & anotherCharacter, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00680
00719 static jint digit( jchar ch, jint radix, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00720
00722
00743 static ::java::lang::Character dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00744
00746
00764 bool equals( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00765
00794 static jchar forDigit( jint digit, jint radix, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00795
00813 static jbyte getDirectionality( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00814
00848 static jint getNumericValue( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00849
00862 static jint getType( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00863
00865
00879 static ::xmog_java_class * get_class( );
00880
00889 static ::xmog_java_class * get_element_class( );
00890
00892
00903 jint hashCode( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00904
00925 static bool isDefined( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00926
00961 static bool isDigit( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00962
00981 static bool isISOControl( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00982
01013 static bool isIdentifierIgnorable( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01014
01044 static bool isJavaIdentifierPart( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01045
01070 static bool isJavaIdentifierStart( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01071
01096 static bool isJavaLetter( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01097
01127 static bool isJavaLetterOrDigit( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01128
01157 static bool isLetter( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01158
01178 static bool isLetterOrDigit( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01179
01209 static bool isLowerCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01210
01231 static bool isMirrored( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01232
01261 static bool isSpace( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01262
01286 static bool isSpaceChar( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01287
01322 static bool isTitleCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01323
01352 static bool isUnicodeIdentifierPart( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01353
01377 static bool isUnicodeIdentifierStart( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01378
01406 static bool isUpperCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01407
01440 static bool isWhitespace( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01441
01462 static jchar toLowerCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01463
01480 ::java::lang::String toString( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01481
01497 static ::java::lang::String toString( jchar c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01498
01525 static jchar toTitleCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01526
01547 static jchar toUpperCase( jchar ch, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
01548
01550
01569 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
01571
01572 };
01573 #endif
01574