00001 #ifndef xmogInc_javalangreflectMethod
00002 #define xmogInc_javalangreflectMethod
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 Method;
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
00059 class JMS_DECLSPEC java::lang::reflect::Method :
00060 public ::java::lang::reflect::AccessibleObject,
00061 public ::java::lang::reflect::Member
00062 {
00063 public:
00064 enum
00065 {
00066 xmogDefaultFlags = xmog_base::GLOBAL,
00067 xmogMajorVersion = 3,
00068 xmogMinorVersion = 2,
00069 xmogPatchVersion = 9,
00070 xmogBuildNumber = 2047
00071 };
00072
00073 public:
00074
00075 typedef ::xmog_java_array_template< ::java::lang::reflect::Method > array1D;
00076
00077 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::lang::reflect::Method > > array2D;
00078
00080
00097 Method( );
00098
00111 Method( const ::java::lang::reflect::Method & _rhs );
00112
00125 Method( jobject _local, xmog_flags f_xflags );
00126
00139 Method( const ::xmog_null & _null_instance );
00140
00151 Method( ::xmog_java_array * _arr, jint _index );
00152
00166 Method( const ::java::lang::reflect::Method & _rhs, ::xmog_localenv * p_lxenv );
00167
00179 XMOG_EXPLICIT Method( ::xmog_base * _delegate, bool _owns_delegate = true );
00180
00194 Method( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00195
00197
00214 Method( const ::java::lang::Class & declaringClass, const ::java::lang::String & name, const ::xmog_java_array_template< ::java::lang::Class > & parameterTypes, const ::java::lang::Class & returnType, const ::xmog_java_array_template< ::java::lang::Class > & checkedExceptions, jint modifiers, jint slot, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00215
00217
00224 ~Method( );
00225
00238 java::lang::reflect::Method operator =( const java::lang::reflect::Method & _rhs );
00239
00254 void operator delete( void * _ptr );
00255
00256 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00272 void operator delete( void * ptr, void * loc );
00273 # endif
00274
00289 void * operator new( size_t _size );
00290
00291 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00309 void * operator new( size_t _size, void * _ptr );
00310 # endif
00311
00332 static ::java::lang::reflect::Method dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00333
00335
00352 bool equals( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00353
00365 ::java::lang::Class getDeclaringClass( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00366
00384 ::xmog_java_array_template< ::java::lang::Class > getExceptionTypes( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00385
00400 jint getModifiers( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00401
00413 ::java::lang::String getName( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00414
00431 ::xmog_java_array_template< ::java::lang::Class > getParameterTypes( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00432
00444 ::java::lang::Class getReturnType( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00445
00447
00461 static ::xmog_java_class * get_class( );
00462
00471 static ::xmog_java_class * get_element_class( );
00472
00474
00489 jint hashCode( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00490
00532 ::java::lang::Object invoke( const ::java::lang::Object & obj, const ::xmog_java_array_template< ::java::lang::Object > & args, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00533
00565 ::java::lang::String toString( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00566
00568
00587 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
00589
00590 };
00591 #endif
00592