00001 #ifndef xmogInc_javalangreflectField
00002 #define xmogInc_javalangreflectField
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 Class;
00018 class Object;
00019 class String;
00020 namespace reflect
00021 {
00022 class Field;
00023 }
00024 }
00025 }
00026
00027 # include "java_lang_reflect_Member.h"
00028 # include "java_lang_reflect_AccessibleObject.h"
00029
00030
00031 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00032 # if defined(new)
00033 # undef new
00034 # endif
00035 # if defined(delete)
00036 # undef delete
00037 # endif
00038 # endif
00039
00058 class JMS_DECLSPEC java::lang::reflect::Field :
00059 public ::java::lang::reflect::AccessibleObject,
00060 public ::java::lang::reflect::Member
00061 {
00062 public:
00063 enum
00064 {
00065 xmogDefaultFlags = xmog_base::GLOBAL,
00066 xmogMajorVersion = 3,
00067 xmogMinorVersion = 2,
00068 xmogPatchVersion = 9,
00069 xmogBuildNumber = 2047
00070 };
00071
00072 public:
00073
00074 typedef ::xmog_java_array_template< ::java::lang::reflect::Field > array1D;
00075
00076 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::lang::reflect::Field > > array2D;
00077
00079
00096 Field( );
00097
00110 Field( const ::java::lang::reflect::Field & _rhs );
00111
00124 Field( jobject _local, xmog_flags f_xflags );
00125
00138 Field( const ::xmog_null & _null_instance );
00139
00150 Field( ::xmog_java_array * _arr, jint _index );
00151
00165 Field( const ::java::lang::reflect::Field & _rhs, ::xmog_localenv * p_lxenv );
00166
00178 XMOG_EXPLICIT Field( ::xmog_base * _delegate, bool _owns_delegate = true );
00179
00193 Field( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00194
00196
00211 Field( const ::java::lang::Class & declaringClass, const ::java::lang::String & name, const ::java::lang::Class & type, jint modifiers, jint slot, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00212
00214
00221 ~Field( );
00222
00235 java::lang::reflect::Field operator =( const java::lang::reflect::Field & _rhs );
00236
00251 void operator delete( void * _ptr );
00252
00253 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00269 void operator delete( void * ptr, void * loc );
00270 # endif
00271
00286 void * operator new( size_t _size );
00287
00288 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00306 void * operator new( size_t _size, void * _ptr );
00307 # endif
00308
00329 static ::java::lang::reflect::Field dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00330
00332
00349 bool equals( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00350
00394 ::java::lang::Object get( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00395
00408 bool getBoolean( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00409
00422 jbyte getByte( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00423
00438 jchar getChar( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00439
00451 ::java::lang::Class getDeclaringClass( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00452
00467 jdouble getDouble( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00468
00483 jfloat getFloat( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00484
00499 jint getInt( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00500
00515 jlong getLong( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00516
00531 jint getModifiers( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00532
00544 ::java::lang::String getName( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00545
00560 jshort getShort( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00561
00575 ::java::lang::Class getType( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00576
00578
00592 static ::xmog_java_class * get_class( );
00593
00602 static ::xmog_java_class * get_element_class( );
00603
00605
00620 jint hashCode( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00621
00676 void set( const ::java::lang::Object & obj, const ::java::lang::Object & value, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00677
00698 void setBoolean( const ::java::lang::Object & obj, bool z, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00699
00720 void setByte( const ::java::lang::Object & obj, jbyte b, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00721
00742 void setChar( const ::java::lang::Object & obj, jchar c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00743
00764 void setDouble( const ::java::lang::Object & obj, jdouble d, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00765
00786 void setFloat( const ::java::lang::Object & obj, jfloat f, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00787
00808 void setInt( const ::java::lang::Object & obj, jint i, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00809
00830 void setLong( const ::java::lang::Object & obj, jlong l, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00831
00852 void setShort( const ::java::lang::Object & obj, jshort s, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00853
00881 ::java::lang::String toString( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00882
00884
00903 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
00905
00906 };
00907 #endif
00908