Codemesh Runtime v3 C++ API Reference  3.9.205
xmog_java_ref.h
1 //
2 // Copyright (c) 1999-2020 by Codemesh, Inc.. ALL RIGHTS RESERVED.
3 //
4 
5 
6 #ifndef xmog_java_ref_inc
7 #define xmog_java_ref_inc
8 
9 
10 #include "xmog_base.h"
11 
12 
13 class xmog_null;
14 
15 
19 class XMOG_DECLSPEC xmog_java_ref : public xmog_base
20 {
21 private:
22 
23  jobject local_cache_;
24 
25 public:
26 
30  xmog_java_ref();
31 
38  xmog_java_ref( const xmog_null & );
39 
50  xmog_java_ref( xmog_java_array * _arr, jint _index );
51 
62  xmog_java_ref( xmog_java_class * _clazz, xmog_java_dynamic * _dynamic, xmog_flags _flags );
63 
79  XMOG_EXPLICIT xmog_java_ref( xmog_base * _delegate, bool _owns_delegate = true );
80 
91  xmog_java_ref( xmog_java_ref * _ref, xmog_java_dynamic * _dynamic, xmog_flags _flags );
92 
99  xmog_java_ref( jobject _local, xmog_flags _flags );
100 
104  ~xmog_java_ref();
105 
109  bool operator == ( const xmog_null & ) const;
110 
118  bool operator == ( const xmog_java_ref & ) const;
119 
123  bool operator != ( const xmog_null & ) const;
124 
134  bool operator != ( const xmog_java_ref & ) const;
135 
139  bool operator ! () const;
140 
150  jboolean xmog_equals( const xmog_java_ref & _rhs, xmog_localenv * env = NULL );
151 
159  jint xmog_hashCode( xmog_localenv * env = NULL );
160 
168  jobject xmog_toString( xmog_localenv * env = NULL );
169 
179  virtual jobject get_jobject_( xmog_localenv * env = NULL ) const;
180 
184  virtual void xmog_monitor_enter( xmog_localenv * env = NULL ) const;
185 
189  virtual void xmog_monitor_exit( xmog_localenv * env = NULL ) const;
190 };
191 
192 
193 #if !defined (XMOG_LACKS_INLINE_FUNCTIONS)
194 # include "xmog_jvm_loader.h"
195 # include "xmog_null.h"
196 # include "xmog_java_ref.inl"
197 #endif
198 
199 
200 #endif /* xmog_java_ref_inc */
xmog_java_dynamic
The baseclass for types that dynamically derive the value of Java proxy items.
Definition: xmog_java_dynamic.h:28
xmog_base::get_jobject_
virtual jobject get_jobject_(xmog_localenv *env=NULL) const
Returns this instance's object reference.
xmog_base
The baseclass for all proxy types in the framework.
Definition: xmog_base.h:29
xmog_localenv
A class representing per-thread information for the integration runtime.
Definition: xmog_localenv.h:32
xmog_java_ref
The wrapper base type representing C++ proxy instances for Java objects.
Definition: xmog_java_ref.h:19
xmog_java_array
The baseclass for all Java proxy array types.
Definition: xmog_java_array.h:456
xmog_java_class
A C++ wrapper for Java types.
Definition: xmog_java_class.h:31
xmog_null
A type representing null references.
Definition: xmog_null.h:53

Copyright (c) 1999-2020 by Codemesh, Inc., ALL RIGHTS RESERVED.