2005/5/9

     
 

ref_dmiproxy.cpp

artefaktur
// Generated by ACDK Metacompiler, 
// Copyrighted by Roger Rene Kommer, artefaktur
// 
// Dont edit this file manually
// 
#include <acdk.h>


#include "../ref.h"
#include "../NotifyObjectEvent.h"
#include "../PhantomReference.h"
#include "../ref.h"
#include "../Reference.h"
#include "../ReferenceQueue.h"
#include "../SharedOwning.h"
#include "../SoftReference.h"
#include "../WeakReference.h"
#include <acdk/lang/dmi/ClazzInfoInternals.h>

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;

} // namespace acdk
} // namespace lang
} // namespace ref

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;
class PhantomReference_DmiProxy
: extends PhantomReference
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PhantomReference)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PhantomReference::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::lang::ref::, PhantomReference)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  PhantomReference_DmiProxy(IN(::acdk::lang::RObject) ref, IN(::acdk::lang::ref::RReferenceQueue) queue)
  : PhantomReference(ref, queue)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PhantomReference_DmiProxy(IN(::acdk::lang::RObject) ref)
  : PhantomReference(ref)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void clear()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::clear();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clear", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool enqueue()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::enqueue();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("enqueue", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject get()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::get();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("get", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isEnqueued()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::isEnqueued();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isEnqueued", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, PhantomReference)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new PhantomReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar(), (::acdk::lang::ref::RReferenceQueue)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PhantomReference_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new PhantomReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo PhantomReference_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  PhantomReference::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _PhantomReference_DmiProxy_interfaces[] =
{
  &PhantomReference_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "queue",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::ref::ReferenceQueue::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* PhantomReference_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args[] = 
{
  &PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref,
  &PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PhantomReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PhantomReference::clazzInfo(), // returnType
  "_0_PhantomReference_DmiProxy", // altname
  -1, // altnamehashCode
  PhantomReference_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args,
  0, // argumentCount
  0, // excpetions,
  PhantomReference_DmiProxy::_PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* PhantomReference_methods__PhantomReference_in_acdk_lang_Object_args[] = 
{
  &PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_arg_ref,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PhantomReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PhantomReference::clazzInfo(), // returnType
  "_1_PhantomReference_DmiProxy", // altname
  -1, // altnamehashCode
  PhantomReference_methods__PhantomReference_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  PhantomReference_DmiProxy::_PhantomReference_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PhantomReference_methods[] = 
{
  &PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue,
  &PhantomReference_DmiProxy_methods__PhantomReference_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* PhantomReference_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PhantomReference_DmiProxy", // name of class
  -1, // hashCode
    "acdk/lang/ref", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PhantomReference_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PhantomReference_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_PhantomReference_DmiProxy(PhantomReference_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace lang
} // namespace ref

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;
class Reference_DmiProxy
: extends Reference
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(Reference)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  Reference::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::lang::ref::, Reference)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  Reference_DmiProxy(IN(::acdk::lang::RObject) ref, IN(::acdk::lang::ref::RReferenceQueue) queue)
  : Reference(ref, queue)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  Reference_DmiProxy(IN(::acdk::lang::RObject) ref)
  : Reference(ref)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void clear()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clear();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clear", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool enqueue()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::enqueue();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("enqueue", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject get()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::get();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("get", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isEnqueued()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::isEnqueued();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isEnqueued", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new Reference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar(), (::acdk::lang::ref::RReferenceQueue)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _Reference_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new Reference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo Reference_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  Reference::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _Reference_DmiProxy_interfaces[] =
{
  &Reference_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "queue",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::ref::ReferenceQueue::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* Reference_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args[] = 
{
  &Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref,
  &Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue,
  0
};

::acdk::lang::dmi::ClazzMethodInfo Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "Reference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  Reference::clazzInfo(), // returnType
  "_0_Reference_DmiProxy", // altname
  -1, // altnamehashCode
  Reference_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args,
  0, // argumentCount
  0, // excpetions,
  Reference_DmiProxy::_Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* Reference_methods__Reference_in_acdk_lang_Object_args[] = 
{
  &Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_arg_ref,
  0
};

::acdk::lang::dmi::ClazzMethodInfo Reference_DmiProxy_methods__Reference_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "Reference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  Reference::clazzInfo(), // returnType
  "_1_Reference_DmiProxy", // altname
  -1, // altnamehashCode
  Reference_methods__Reference_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  Reference_DmiProxy::_Reference_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* Reference_methods[] = 
{
  &Reference_DmiProxy_methods__Reference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue,
  &Reference_DmiProxy_methods__Reference_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* Reference_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "Reference_DmiProxy", // name of class
  -1, // hashCode
    "acdk/lang/ref", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _Reference_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     Reference_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_Reference_DmiProxy(Reference_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace lang
} // namespace ref

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;
class ReferenceQueue_DmiProxy
: extends ReferenceQueue
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ReferenceQueue)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ReferenceQueue::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::lang::ref::, ReferenceQueue)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  ReferenceQueue_DmiProxy()
  : ReferenceQueue()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, ReferenceQueue)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ReferenceQueue_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ReferenceQueue_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo ReferenceQueue_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  ReferenceQueue::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _ReferenceQueue_DmiProxy_interfaces[] =
{
  &ReferenceQueue_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo* ReferenceQueue_methods__ReferenceQueue_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo ReferenceQueue_DmiProxy_methods__ReferenceQueue = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ReferenceQueue_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ReferenceQueue::clazzInfo(), // returnType
  "_0_ReferenceQueue_DmiProxy", // altname
  -1, // altnamehashCode
  ReferenceQueue_methods__ReferenceQueue_args,
  0, // argumentCount
  0, // excpetions,
  ReferenceQueue_DmiProxy::_ReferenceQueue_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ReferenceQueue_methods[] = 
{
  &ReferenceQueue_DmiProxy_methods__ReferenceQueue,
  0
};

::acdk::lang::dmi::ClazzInfo* ReferenceQueue_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ReferenceQueue_DmiProxy", // name of class
  -1, // hashCode
    "acdk/lang/ref", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ReferenceQueue_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ReferenceQueue_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_ReferenceQueue_DmiProxy(ReferenceQueue_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace lang
} // namespace ref

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;
class SoftReference_DmiProxy
: extends SoftReference
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(SoftReference)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  SoftReference::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::lang::ref::, SoftReference)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  SoftReference_DmiProxy(IN(::acdk::lang::RObject) ref, IN(::acdk::lang::ref::RReferenceQueue) queue)
  : SoftReference(ref, queue)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  SoftReference_DmiProxy(IN(::acdk::lang::RObject) ref)
  : SoftReference(ref)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void clear()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::clear();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clear", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool enqueue()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::enqueue();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("enqueue", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject get()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::get();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("get", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isEnqueued()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::isEnqueued();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isEnqueued", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, SoftReference)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new SoftReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar(), (::acdk::lang::ref::RReferenceQueue)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _SoftReference_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new SoftReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo SoftReference_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  SoftReference::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _SoftReference_DmiProxy_interfaces[] =
{
  &SoftReference_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "queue",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::ref::ReferenceQueue::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* SoftReference_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args[] = 
{
  &SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref,
  &SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "SoftReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SoftReference::clazzInfo(), // returnType
  "_0_SoftReference_DmiProxy", // altname
  -1, // altnamehashCode
  SoftReference_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args,
  0, // argumentCount
  0, // excpetions,
  SoftReference_DmiProxy::_SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* SoftReference_methods__SoftReference_in_acdk_lang_Object_args[] = 
{
  &SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_arg_ref,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "SoftReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SoftReference::clazzInfo(), // returnType
  "_1_SoftReference_DmiProxy", // altname
  -1, // altnamehashCode
  SoftReference_methods__SoftReference_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  SoftReference_DmiProxy::_SoftReference_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* SoftReference_methods[] = 
{
  &SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue,
  &SoftReference_DmiProxy_methods__SoftReference_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* SoftReference_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "SoftReference_DmiProxy", // name of class
  -1, // hashCode
    "acdk/lang/ref", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _SoftReference_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     SoftReference_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_SoftReference_DmiProxy(SoftReference_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace lang
} // namespace ref

namespace acdk { 
namespace lang { 
namespace ref { 

using namespace acdk::lang;
class WeakReference_DmiProxy
: extends WeakReference
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(WeakReference)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  WeakReference::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::lang::ref::, WeakReference)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  WeakReference_DmiProxy(IN(::acdk::lang::RObject) ref, IN(::acdk::lang::ref::RReferenceQueue) queue)
  : WeakReference(ref, queue)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  WeakReference_DmiProxy(IN(::acdk::lang::RObject) ref)
  : WeakReference(ref)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject get()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::get();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("get", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void clear()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::clear();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clear", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool enqueue()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::enqueue();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("enqueue", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isEnqueued()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, Reference)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::isEnqueued();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isEnqueued", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::ref::, WeakReference)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new WeakReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar(), (::acdk::lang::ref::RReferenceQueue)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _WeakReference_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new WeakReference_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo WeakReference_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  WeakReference::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _WeakReference_DmiProxy_interfaces[] =
{
  &WeakReference_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "queue",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::ref::ReferenceQueue::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* WeakReference_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args[] = 
{
  &WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_ref,
  &WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_arg_queue,
  0
};

::acdk::lang::dmi::ClazzMethodInfo WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "WeakReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  WeakReference::clazzInfo(), // returnType
  "_0_WeakReference_DmiProxy", // altname
  -1, // altnamehashCode
  WeakReference_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_args,
  0, // argumentCount
  0, // excpetions,
  WeakReference_DmiProxy::_WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_arg_ref =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "ref",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* WeakReference_methods__WeakReference_in_acdk_lang_Object_args[] = 
{
  &WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_arg_ref,
  0
};

::acdk::lang::dmi::ClazzMethodInfo WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "WeakReference_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  WeakReference::clazzInfo(), // returnType
  "_1_WeakReference_DmiProxy", // altname
  -1, // altnamehashCode
  WeakReference_methods__WeakReference_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  WeakReference_DmiProxy::_WeakReference_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* WeakReference_methods[] = 
{
  &WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object_in_acdk_lang_ref_ReferenceQueue,
  &WeakReference_DmiProxy_methods__WeakReference_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* WeakReference_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "WeakReference_DmiProxy", // name of class
  -1, // hashCode
    "acdk/lang/ref", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _WeakReference_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     WeakReference_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_WeakReference_DmiProxy(WeakReference_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace lang
} // namespace ref