Codemesh Runtime v3 C++ API Reference
3.9.205
|
The wrapper base type representing C++ proxy instances for Java objects. More...
#include <xmog_java_ref.h>
Public Member Functions | |
xmog_java_ref () | |
The default constructor. | |
xmog_java_ref (const xmog_null &) | |
The from null constructor. More... | |
xmog_java_ref (xmog_java_array *_arr, jint _index) | |
The array element constructor. More... | |
xmog_java_ref (xmog_java_class *_clazz, xmog_java_dynamic *_dynamic, xmog_flags _flags) | |
The constructor that allows the dynamic resolution of class-related information. More... | |
XMOG_EXPLICIT | xmog_java_ref (xmog_base *_delegate, bool _owns_delegate=true) |
The constructor that allows the creation of an instance to handle all requests by delegating to another instance. More... | |
xmog_java_ref (xmog_java_ref *_ref, xmog_java_dynamic *_dynamic, xmog_flags _flags) | |
The constructor that allows the dynamic resolution of instance-related information. More... | |
xmog_java_ref (jobject _local, xmog_flags _flags) | |
The constructor that sets an existing JNI reference into a wrapper instance. More... | |
~xmog_java_ref () | |
Deletes the reference we hold to the wrapped Java instance. | |
bool | operator== (const xmog_null &) const |
Compares the instance for equality with null . | |
bool | operator== (const xmog_java_ref &) const |
Compares the instance for equality with another instance. More... | |
bool | operator!= (const xmog_null &) const |
Compares the instance for inequality with null . | |
bool | operator!= (const xmog_java_ref &) const |
Compares the instance for inequality with another instance. More... | |
bool | operator! () const |
Returns true if the instance refers to null , false otherwise. | |
jboolean | xmog_equals (const xmog_java_ref &_rhs, xmog_localenv *env=NULL) |
Returns true if both instances are null or satisfy the equality test. More... | |
jint | xmog_hashCode (xmog_localenv *env=NULL) |
Returns the Java instance's hashCode. More... | |
jobject | xmog_toString (xmog_localenv *env=NULL) |
Returns the Java instance's toString() valus as a global reference. More... | |
virtual jobject | get_jobject_ (xmog_localenv *env=NULL) const |
Returns this instance's object reference. More... | |
virtual void | xmog_monitor_enter (xmog_localenv *env=NULL) const |
Attempts to enter into a lock on the object. | |
virtual void | xmog_monitor_exit (xmog_localenv *env=NULL) const |
Leaves a lock in the object. | |
Public Member Functions inherited from xmog_base | |
xmog_base () | |
The default contructor. More... | |
xmog_base (xmog_java_array *_ref, jint _index) | |
The constructor for Java array elements. More... | |
xmog_base (xmog_java_ref *_ref, xmog_java_dynamic *_dynamic, xmog_flags _flags) | |
The constructor for indirect and user-defined types. More... | |
xmog_base (xmog_java_class *_clazz, xmog_java_dynamic *_dynamic, xmog_flags _flags) | |
The constructor for indirect and user-defined types. More... | |
XMOG_EXPLICIT | xmog_base (xmog_base *_delegate, bool _owns_delegate=true) |
The constructor for delegating objects. More... | |
xmog_base (jobject _local, xmog_flags _flags) | |
The constructor for direct types. More... | |
virtual | ~xmog_base () |
The virtual destructor. | |
virtual void | copy_jobject_ (xmog_base *_rhs, xmog_localenv *env=NULL) |
Sets this instance's object reference to a duplicate of the given object's reference. More... | |
virtual jobject | get_owning_jobject_ (xmog_localenv *env=NULL) |
Returns this instance's owner. More... | |
virtual jobject | get_released_local_jobject_ (xmog_localenv *env=NULL) const |
Returns this instance's object reference as a local reference and removes it from this instance's ownership. More... | |
virtual bool | is_null_ (xmog_localenv *env=NULL) const |
Tests the instance for null . | |
virtual bool | is_same_ (const xmog_base &_rhs, xmog_localenv *env=NULL) const |
Tests whether this instance references the same instance as the other instance. | |
virtual jobject | duplicate_jobject_ (xmog_localenv *env=NULL) const |
Returns a duplicate of this instance's object reference. More... | |
virtual void | set_jobject_ (xmog_base *_rhs, xmog_localenv *env=NULL) |
Sets this instance's object reference to the given object's reference. More... | |
virtual void | transfer_jobject_ (xmog_base *_rhs, xmog_localenv *env=NULL) |
Sets this instance's object reference to the given object's reference and removes ownership from the other object. More... | |
virtual xmog_base * | xmog_to_ (xmog_flags flags, xmog_localenv *env=NULL) |
Converts a reference from one reference type to another. More... | |
virtual xmog_base * | xmog_fill_with_standalone_for_ (xmog_base *_rhs, xmog_localenv *env=NULL) |
Populates the object with a stand-alone reference based on another object. More... | |
virtual xmog_java_class * | xmog_get_java_peer (xmog_localenv *env=NULL) |
Returns NULL if the type does not have a Java peer type, a pointer to the type's xmog_java_class otherwise. More... | |
virtual int | xmog_create_java_peer (xmog_java_class *clazz, xmog_localenv *env=NULL, xmog_flags flags=xmog_base::GLOBAL) |
Creates a Java peer instance for this type. More... | |
virtual int | xmog_to_java_peer (xmog_localenv *env=NULL) |
Sets the native instance's state into the Java peer instance. More... | |
virtual void | xmog_lazy_write (xmog_localenv *env=NULL) |
Performs a lazy write operation on the instance. More... | |
virtual void | xmog_invalidate (xmog_localenv *env=NULL) |
Invalidates any cached values in the instance. More... | |
void | release_standalone (xmog_localenv *env=NULL) |
Releases the internally maintained object if the instance is a stand-alone (direct) instance and not an indirect instance. More... | |
void | release_delegate () |
Releases the internally maintained delegate. | |
Additional Inherited Members | |
Public Types inherited from xmog_base | |
enum | flags { STAND_ALONE = 1, ARRAY_ELEMENT = 2, DYNAMIC = 4, DELEGATE = 8, LOCAL = 16, WEAK_GLOBAL = 32, GLOBAL = 64, REMOTE = 128, CACHING = 256, CACHE_INVALID = 512, CACHE_DIRTY = 1024, CACHE_LAZY_WRITE = 2048, OWNS_DELEGATE = 4096, STRING_DIRTY = 8192, STRING_PTR = 16384, STRING_WPTR = 32768, INDIRECT = 65536, NONVIRT = 131072, SUPPRESS_LOGGING = 262144, CATEGORY = 15, TYPE = 240, CACHE = 3840 } |
The possible flag values. More... | |
Public Attributes inherited from xmog_base | |
XMOG_JOBJECT_HOLDER | owner_ |
The owner or identity of the object. More... | |
union { | |
xmog_java_dynamic * dynamic_ | |
A pointer to an object that can access indirectly specified information. | |
jint index_ | |
The index of an array element. | |
}; | |
Data or object that provides assistance in accessing indirectly specified elements. More... | |
xmog_flags | flags_ |
The flags governing the type and other housekeeping information. | |
The wrapper base type representing C++ proxy instances for Java objects.
xmog_java_ref::xmog_java_ref | ( | const xmog_null & | ) |
The from null
constructor.
This constructor is synonymous to the default constructor and creates an instance that does not refer to any Java instance.
xmog_java_ref::xmog_java_ref | ( | xmog_java_array * | _arr, |
jint | _index | ||
) |
The array element constructor.
This is really just a convenience constructor that helps improve the performance of accessing array elements. The same could be achieved by using the version of the constructor that takes an xmog_java_ref and xmog_java_dynamic as input.
_arr | the array instance to which the element belongs. |
_index | the index into the array. |
xmog_java_ref::xmog_java_ref | ( | xmog_java_class * | _clazz, |
xmog_java_dynamic * | _dynamic, | ||
xmog_flags | _flags | ||
) |
The constructor that allows the dynamic resolution of class-related information.
This is the constructor that's used when we're creating support for static methods and fields.
_clazz | the class instance to which the element belongs. |
_dynamic | the instance that knows how to access the information we're interested in. |
_flags | bit flags that provide additional processing information. |
XMOG_EXPLICIT xmog_java_ref::xmog_java_ref | ( | xmog_base * | _delegate, |
bool | _owns_delegate = true |
||
) |
The constructor that allows the creation of an instance to handle all requests by delegating to another instance.
This is the constructor that's used when we want to maintain a dynamically allocated instance inside another instance. This will for example allow us to have a more derived concrete instance maintained in a stack-based less concrete instance that is returned by a method call.
_delegate | an instance that is of compatible type to the outer instance and can therefore be delegated to for every request being made of this instance. |
_owns_delegate | true if the proxy instance owns the delgate, false otherwise. The proxy's destructor will call delete() on the delegate if the value is true . The default value is true . |
xmog_java_ref::xmog_java_ref | ( | xmog_java_ref * | _ref, |
xmog_java_dynamic * | _dynamic, | ||
xmog_flags | _flags | ||
) |
The constructor that allows the dynamic resolution of instance-related information.
This is the constructor that's used when we're creating support for instance methods and fields.
_ref | the instance to which the element belongs. |
_dynamic | the instance that knows how to access the information we're interested in. |
_flags | bit flags that provide additional processing information. |
xmog_java_ref::xmog_java_ref | ( | jobject | _local, |
xmog_flags | _flags | ||
) |
The constructor that sets an existing JNI reference into a wrapper instance.
_local | the JNI reference. |
_flags | bit flags that provide additional processing information. |
|
virtual |
Returns this instance's object reference.
This method is only useful for reference-type proxies but not for primitive value proxies. Overrides the xmog_base::get_jobject_() method to potentially use a cached value.
env | an optional local call environment. NULL is a legal value. |
Reimplemented from xmog_base.
bool xmog_java_ref::operator!= | ( | const xmog_java_ref & | ) | const |
Compares the instance for inequality with another instance.
This method returns true
if this instance and the other instance reference different Java objects. It does not matter whether the Java objects contain the same data and satisfy the equals test. This is an identity-based comparison operation, not an equality-based comparison operation.
bool xmog_java_ref::operator== | ( | const xmog_java_ref & | ) | const |
Compares the instance for equality with another instance.
This method returns true
if this instance and the other instance reference the same Java object. This is an identity-based comparison operation, not an equality-based comparison operation.
jboolean xmog_java_ref::xmog_equals | ( | const xmog_java_ref & | _rhs, |
xmog_localenv * | env = NULL |
||
) |
Returns true
if both instances are null
or satisfy the equality test.
This method is mainly used to support other languages than C++.
_rhs | the other instance for the equality comparison. |
env | the local call environment. The default value is NULL . |
jint xmog_java_ref::xmog_hashCode | ( | xmog_localenv * | env = NULL | ) |
Returns the Java instance's hashCode.
This method is mainly used to support other languages than C++.
env | the local call environment. The default value is NULL . |
jobject xmog_java_ref::xmog_toString | ( | xmog_localenv * | env = NULL | ) |
Returns the Java instance's toString() valus as a global reference.
This method is mainly used to support other languages than C++.
env | the local call environment. The default value is NULL . |