Codemesh Runtime v3 C++ API Reference
3.9.205
|
The baseclass for all Java proxy array types. More...
#include <xmog_java_array.h>
Public Member Functions | |
xmog_java_array () | |
A default constructor to satisfy virtual inheritance semantics. | |
xmog_java_array (jobject array, xmog_flags flags, jint size=-1, xmog_localenv *env=NULL) | |
The constructor that creates an instance from an existing reference. More... | |
xmog_java_array (const xmog_null &) | |
The from null constructor. More... | |
xmog_java_array (const xmog_java_array &_rhs, xmog_localenv *env=NULL) | |
The copy constructor. More... | |
xmog_java_array (xmog_java_array *_arr, jint _index) | |
The array element constructor. More... | |
xmog_java_array (xmog_java_class *_clazz, xmog_java_dynamic *_dynamic, xmog_flags _flags) | |
The constructor that allows the dynamic resolution of class-related information. More... | |
xmog_java_array (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_array (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_array () | |
The destructor invalidates the length field. | |
jint | get_length (xmog_localenv *env) const |
A higher performance alternative to querying the array length. More... | |
void | xmog_invalidate (xmog_localenv *env=NULL) |
Invalidates any cached values in the instance. More... | |
Public Member Functions inherited from xmog_java_ref | |
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... | |
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. | |
Public Attributes | |
xmog_java_array_size | length |
The array length. 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. | |
Protected Member Functions | |
void | copy_ (const xmog_java_array &_rhs, xmog_localenv *env=NULL) |
Updates this instance to reflect the given instance's state. | |
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... | |
The baseclass for all Java proxy array types.
xmog_java_array::xmog_java_array | ( | jobject | array, |
xmog_flags | flags, | ||
jint | size = -1 , |
||
xmog_localenv * | env = NULL |
||
) |
The constructor that creates an instance from an existing reference.
array | the Java array. |
flags | the flags that represent the type of the reference. |
size | the array's size. The default value is -1. |
env | the local call environment. The default value is NULL . |
xmog_java_array::xmog_java_array | ( | 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_array::xmog_java_array | ( | const xmog_java_array & | _rhs, |
xmog_localenv * | env = NULL |
||
) |
The copy constructor.
_rhs | the existing array whose handle we're duplicating. |
env | the local call environment. The default value is NULL . |
xmog_java_array::xmog_java_array | ( | 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_array::xmog_java_array | ( | 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_java_array::xmog_java_array | ( | 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_array::xmog_java_array | ( | 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. |
jint xmog_java_array::get_length | ( | xmog_localenv * | env | ) | const |
A higher performance alternative to querying the array length.
env | the local call environment. |
|
virtual |
Invalidates any cached values in the instance.
env | an optional local call environment. NULL is a legal value. |
Reimplemented from xmog_base.
xmog_java_array_size xmog_java_array::length |
The array length.
This field can be used in every place where the compiler expects a jint
.
Referenced by xmog_java_array_template< ElementType >::end().