00001 #ifndef xmogInc_javautilArrayList
00002 #define xmogInc_javautilArrayList
00003
00004 # if !defined(JMS_DECLSPEC )
00005 # if defined(_MSC_VER)
00006 # pragma message( "Relying on default definition of JMS_DECLSPEC " )
00007 # endif
00008
00009
00010 # define JMS_DECLSPEC
00011 # endif
00012
00013 namespace java
00014 {
00015 namespace lang
00016 {
00017 class Object;
00018 class String;
00019 }
00020 namespace util
00021 {
00022 class ArrayList;
00023 class Collection;
00024 }
00025 }
00026
00027 # include "java_util_RandomAccess.h"
00028 # include "java_util_AbstractList.h"
00029 # include "java_io_Serializable.h"
00030 # include "java_lang_Cloneable.h"
00031
00032
00033 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00034 # if defined(new)
00035 # undef new
00036 # endif
00037 # if defined(delete)
00038 # undef delete
00039 # endif
00040 # endif
00041
00111 class JMS_DECLSPEC java::util::ArrayList :
00112 public ::java::util::AbstractList,
00113 public virtual ::java::util::RandomAccess,
00114 public virtual ::java::lang::Cloneable,
00115 public virtual ::java::io::Serializable
00116 {
00117 public:
00118 enum
00119 {
00120 xmogDefaultFlags = xmog_base::GLOBAL,
00121 xmogMajorVersion = 3,
00122 xmogMinorVersion = 2,
00123 xmogPatchVersion = 9,
00124 xmogBuildNumber = 2047
00125 };
00126
00127 public:
00128
00129 typedef ::xmog_java_array_template< ::java::util::ArrayList > array1D;
00130
00131 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::util::ArrayList > > array2D;
00132
00134
00151 ArrayList( );
00152
00165 ArrayList( const ::java::util::ArrayList & _rhs );
00166
00179 ArrayList( jobject _local, xmog_flags f_xflags );
00180
00193 ArrayList( const ::xmog_null & _null_instance );
00194
00205 ArrayList( ::xmog_java_array * _arr, jint _index );
00206
00220 ArrayList( const ::java::util::ArrayList & _rhs, ::xmog_localenv * p_lxenv );
00221
00233 XMOG_EXPLICIT ArrayList( ::xmog_base * _delegate, bool _owns_delegate = true );
00234
00248 ArrayList( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00249
00251
00260 ArrayList( jint initialCapacity, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00261
00275 ArrayList( const ::java::util::Collection & c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00276
00286 ArrayList( ::xmog_dummy _use_java_ctor, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00287
00289
00296 ~ArrayList( );
00297
00310 java::util::ArrayList operator =( const java::util::ArrayList & _rhs );
00311
00326 void operator delete( void * _ptr );
00327
00328 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00344 void operator delete( void * ptr, void * loc );
00345 # endif
00346
00361 void * operator new( size_t _size );
00362
00363 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00381 void * operator new( size_t _size, void * _ptr );
00382 # endif
00383
00385
00397 virtual bool add( const ::java::lang::Object & o, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00398
00415 virtual void add( jint index, const ::java::lang::Object & element, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00416
00436 virtual bool addAll( const ::java::util::Collection & c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00437
00458 virtual bool addAll( jint index, const ::java::util::Collection & c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00459
00473 virtual void clear( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00474
00488 virtual ::java::lang::Object clone( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00489
00502 virtual bool contains( const ::java::lang::Object & elem, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00503
00505
00526 static ::java::util::ArrayList dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00527
00529
00543 virtual void ensureCapacity( jint minCapacity, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00544
00553 virtual bool equals( const ::java::lang::Object & obj, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00554
00566 virtual ::java::lang::Object get( jint index, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00567
00569
00583 static ::xmog_java_class * get_class( );
00584
00593 static ::xmog_java_class * get_element_class( );
00594
00596
00604 virtual jint hashCode( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00605
00619 virtual jint indexOf( const ::java::lang::Object & elem, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00620
00632 virtual bool isEmpty( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00633
00647 virtual jint lastIndexOf( const ::java::lang::Object & elem, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00648
00664 virtual ::java::lang::Object remove( jint index, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00665
00679 virtual ::java::lang::Object set( jint index, const ::java::lang::Object & element, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00680
00691 virtual jint size( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00692
00705 virtual ::xmog_java_array_template< ::java::lang::Object > toArray( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00706
00733 virtual ::xmog_java_array_template< ::java::lang::Object > toArray( const ::xmog_java_array_template< ::java::lang::Object > & a, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00734
00742 virtual ::java::lang::String toString( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00743
00758 virtual void trimToSize( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00759
00761
00780 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
00782
00783 };
00784 #endif
00785