|
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. |