Codemesh Runtime v3 C++ API Reference  3.9.205
Public Member Functions | List of all members
xmog_exception_impl Class Reference

The type that is used when the GenericException policy is in effect or for exceptions epresenting framework exceptions that are not based on Java exceptions. More...

#include <xmog_exception.h>

Inheritance diagram for xmog_exception_impl:
Inheritance graph
[legend]
Collaboration diagram for xmog_exception_impl:
Collaboration graph
[legend]

Public Member Functions

 xmog_exception_impl (int error_code, const char *msg=NULL)
 Creates a new exception instance with the given error code and optional error message. More...
 
 xmog_exception_impl (int error_code, const XMOG_WCHAR *msg)
 Creates a new exception instance with the given error code and error message. More...
 
 xmog_exception_impl (int error_code, jthrowable t, xmog_flags flags=xmog_base::GLOBAL)
 Creates a new exception instance with the given error code and a Java exception instance. More...
 
 ~xmog_exception_impl ()
 Cleans up behind the exception instance.
 
int get_error_code ()
 Returns the error code.
 
virtual char * get_message_chars (xmog_localenv *env=NULL, xmog_base *enc=NULL)
 Returns the error message for this instance. More...
 
virtual unsigned short * get_message_u16 (xmog_localenv *env=NULL)
 Returns the error message for this instance. More...
 
- Public Member Functions inherited from xmog_exception
 xmog_exception ()
 The default constructor.
 
 xmog_exception (const xmog_exception &rhs, xmog_localenv *pEnv=NULL)
 The copy constructor. More...
 
 xmog_exception (jobject inst, xmog_flags flags)
 The constructor for a preexisting exception instance. More...
 
void get_message (xmog_base *msg, xmog_localenv *env=NULL)
 Returns the exception instance's message object in the provided proxy 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_basexmog_to_ (xmog_flags flags, xmog_localenv *env=NULL)
 Converts a reference from one reference type to another. More...
 
virtual xmog_basexmog_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_classxmog_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...
 
- Static Public Member Functions inherited from xmog_exception
static void throw_java_exception (xmog_exception *pe=NULL, const char *msg=NULL, xmog_localenv *env=NULL)
 Throws a Java exception corresponding with the passed exception instance. 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.
 

Detailed Description

The type that is used when the GenericException policy is in effect or for exceptions epresenting framework exceptions that are not based on Java exceptions.

Sometimes, it is desirable to not throw typed exceptions, but to just have one generic exception type that is used for all types of exceptional events. This is the type that is used under those conditions.

Constructor & Destructor Documentation

◆ xmog_exception_impl() [1/3]

xmog_exception_impl::xmog_exception_impl ( int  error_code,
const char *  msg = NULL 
)

Creates a new exception instance with the given error code and optional error message.

This constructor is used for framework exceptions that are not "backed" by and underlying Java exception. An example of a framework exception might be the framework's inability to load a JVM.

Parameters
error_codethe error condition represented by this instance.
msgthe error message represented by this instance. May be NULL.

◆ xmog_exception_impl() [2/3]

xmog_exception_impl::xmog_exception_impl ( int  error_code,
const XMOG_WCHAR *  msg 
)

Creates a new exception instance with the given error code and error message.

This constructor is used for framework exceptions that are not "backed" by and underlying Java exception. An example of a framework exception might be the framework's inability to load a JVM.

Parameters
error_codethe error condition represented by this instance.
msgthe error message represented by this instance.

◆ xmog_exception_impl() [3/3]

xmog_exception_impl::xmog_exception_impl ( int  error_code,
jthrowable  t,
xmog_flags  flags = xmog_base::GLOBAL 
)

Creates a new exception instance with the given error code and a Java exception instance.

This constructor is used for exceptions that are "backed" by a Java exception when the GenericException policy is in effect.

Parameters
error_codethe error condition represented by this instance.
tthe reference to the Java exception that was thrown.
flagsthe type of Java reference.

Member Function Documentation

◆ get_message_chars()

virtual char* xmog_exception_impl::get_message_chars ( xmog_localenv env = NULL,
xmog_base enc = NULL 
)
virtual

Returns the error message for this instance.

The caller is responsible for cleaning up the returned string by calling xmog_util::free() or xmog_util::setString().

Parameters
envthe local call environment. May be NULL.
encthe optional encoding to be used. Use one of the encodings in the xmog_java_string class.
Returns
the exception message, owned by the caller.

Reimplemented from xmog_exception.

◆ get_message_u16()

virtual unsigned short* xmog_exception_impl::get_message_u16 ( xmog_localenv env = NULL)
virtual

Returns the error message for this instance.

The caller is responsible for cleaning up the returned string by calling xmog_util::free() or xmog_util::setString().

Parameters
envthe local call environment. May be NULL.
Returns
the exception message, owned by the caller.

Reimplemented from xmog_exception.


The documentation for this class was generated from the following file:

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