Codemesh Runtime v3 C++ API Reference
3.9.205
|
The proxy type for reference arrays. More...
#include <xmog_java_array.h>
Public Member Functions | |
xmog_java_object_array () | |
Creates an array instance that does not refer to any Java object. | |
xmog_java_object_array (const xmog_null &) | |
Creates an array instance that does not refer to any Java object. | |
xmog_java_object_array (const xmog_java_object_array &, xmog_localenv *env=NULL) | |
Creates an array instance that references the same Java object as the given object. | |
xmog_java_object_array (xmog_java_array *_ref, jint _index) | |
Creates an array instance that represents an array element itself. | |
xmog_java_object_array (xmog_java_ref *_clazz_ref_array, xmog_java_dynamic *_dynamic, xmog_flags _flags=xmog_base::GLOBAL) | |
Creates an indirect array instance. | |
xmog_java_object_array (xmog_base *_delegate, bool _owns_delegate=true) | |
Creates an array instance that delegates to another instance. | |
xmog_java_object_array (jobject _local, xmog_flags _flags) | |
Creates an array instance that represents a pre-existing JNI reference. | |
xmog_java_object_array (jint size, xmog_java_class *clazz, xmog_localenv *env=NULL, xmog_flags flags=xmog_base::GLOBAL) | |
Creates a new object array instance of a given length. More... | |
xmog_java_ref | operator[] (jint index) |
Returns a proxy to a long array element, usable as a lhs-value. More... | |
void | set (jint index, jobject v, xmog_localenv *env=NULL) |
Sets a value into the array's specified element. More... | |
jobject | operator[] (jint index) const |
Returns the value of an array element. More... | |
jobject | get (jint index, xmog_localenv *env) const |
Returns the value of an array element. More... | |
xmog_java_object_array & | operator= (const xmog_java_object_array &) |
Sets the given instance's array reference into this instance. | |
Public Member Functions inherited from xmog_java_array | |
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. | |
Static Public Member Functions | |
static xmog_java_dynamic * | get_dynamic () |
Returns an xmog_java_dynamic instance that can be used to access the array elements of this type. | |
static xmog_java_class * | get_class () |
Returns the proxy wrapper instance for this array type. | |
static xmog_java_class * | get_element_java_class () |
Returns the proxy wrapper instance for this array's element type. | |
Protected Member Functions | |
jarray | create (jint size, xmog_java_class *clazz, xmog_flags flags, xmog_localenv *env) |
Creates an array instance of a certain element type and a certain size. More... | |
Protected Member Functions inherited from xmog_java_array | |
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... | |
Public Attributes inherited from xmog_java_array | |
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. | |
The proxy type for reference arrays.
This is the super type for all object array types. In order to provide strongly typed access to arbitrary array types, we provide a template array type that takes a proxy type as a template argument. This type extends the xmog_java_object_array type and takes advantage of its basic features.
xmog_java_object_array::xmog_java_object_array | ( | jint | size, |
xmog_java_class * | clazz, | ||
xmog_localenv * | env = NULL , |
||
xmog_flags | flags = xmog_base::GLOBAL |
||
) |
Creates a new object array instance of a given length.
size | the length of the new array. |
clazz | the wrapper instance for the element type. |
env | the optional environment. May be NULL . |
flags | the optional flags. Defaults to xmog_base::GLOBAL. |
|
protected |
Creates an array instance of a certain element type and a certain size.
size | the size of the array to be created. |
clazz | the utility instance representing the array element type. |
flags | the creation flags. |
env | the local call environment. |
jobject xmog_java_object_array::get | ( | jint | index, |
xmog_localenv * | env | ||
) | const |
Returns the value of an array element.
This method provides the same functionality as the subscript operator, but coupled with the ability to pass in a local call environment for a slight edge in performance.
index | the array element index. |
env | the local call environment. Default value is NULL . |
xmog_java_ref xmog_java_object_array::operator[] | ( | jint | index | ) |
Returns a proxy to a long
array element, usable as a lhs-value.
index | the array element index. |
jobject xmog_java_object_array::operator[] | ( | jint | index | ) | const |
Returns the value of an array element.
index | the array element index. |
void xmog_java_object_array::set | ( | jint | index, |
jobject | v, | ||
xmog_localenv * | env = NULL |
||
) |
Sets a value into the array's specified element.
This method allows direct assignment into an array element while optionally using a provided local call environment. Consequently it will be higher performing than the subscript operator which provides similar functionality in combination with an assignment operation.
index | the array element index. |
v | the new value. |
env | the local call environment. Default value is NULL . |