2005/5/9

     
 

io_dmiproxy1.cpp

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


#include "../io.h"
#include "../AbstractCharFilterReader.h"
#include "../AbstractCharFilterWriter.h"
#include "../AbstractCharReader.h"
#include "../AbstractCharWriter.h"
#include "../AbstractFilterReader.h"
#include "../AbstractFilterWriter.h"
#include "../AbstractObjectReader.h"
#include "../AbstractObjectWriter.h"
#include "../AbstractReader.h"
#include "../AbstractStorageReader.h"
#include "../AbstractStorageWriter.h"
#include "../AbstractWriter.h"
#include "../ASCIIDataReader.h"
#include "../ASCIIDataWriter.h"
#include "../BinaryDataReader.h"
#include "../BinaryDataWriter.h"
#include "../BinaryObjectReader.h"
#include "../BinaryObjectWriter.h"
#include "../BufferedReader.h"
#include "../BufferedWriter.h"
#include "../BytePtrReader.h"
#include "../ByteToCharReader.h"
#include "../ByteToCharWriter.h"
#include "../CharArrayReader.h"
#include "../CharArrayWriter.h"
#include "../CharReader.h"
#include "../CharToByteReader.h"
#include "../CharToByteWriter.h"
#include "../CharWriter.h"
#include "../ConsoleCharReader.h"
#include "../ConsoleCharWriter.h"
#include "../ConsoleReader.h"
#include "../ConsoleWriter.h"
#include "../DataReader.h"
#include "../DataWriter.h"
#include "../EOFException.h"
#include "../File.h"
#include "../FileAbstractImpl.h"
#include "../FileDescriptor.h"
#include "../FileFilter.h"
#include "../FileImpl.h"
#include "../FileInfo.h"
#include "../FilenameFilter.h"
#include "../FileNotFoundException.h"
#include "../FileReader.h"
#include "../FileReaderWriterImpl.h"
#include "../FileStandardImpl.h"
#include "../FileStatus.h"
#include "../FileSystem.h"
#include "../FileSystemFactory.h"
#include "../FileWriter.h"
#include "../FilterReader.h"
#include "../FilterWriter.h"
#include "../GlobFilenameFilter.h"
#include "../InputReader.h"
#include "../io.h"
#include "../IOException.h"
#include "../io_all.h"
#include "../JoinedReader.h"
#include "../LineNumberCharReader.h"
#include "../LineNumberReader.h"
#include "../MemoryMappedFile.h"
#include "../MemReader.h"
#include "../MemWriter.h"
#include "../NullWriter.h"
#include "../ObjectReader.h"
#include "../ObjectStreamException.h"
#include "../ObjectWriter.h"
#include "../OutputDebugStringWriter.h"
#include "../PipedReader.h"
#include "../PipedWriter.h"
#include "../PrintWriter.h"
#include "../PushbackCharReader.h"
#include "../PushbackReader.h"
#include "../RandomAccessFile.h"
#include "../Reader.h"
#include "../RessourceFileImpl.h"
#include "../RessourceFileSystem.h"
#include "../Serializable.h"
#include "../SerializedObjectDescriptor.h"
#include "../StandardFileSystem.h"
#include "../Storage.h"
#include "../StreamTokenizer.h"
#include "../StringReader.h"
#include "../StringWriter.h"
#include "../SubReader.h"
#include "../TeeCharWriter.h"
#include "../TeeReader.h"
#include "../TeeWriter.h"
#include "../Writer.h"
#include <acdk/lang/dmi/ClazzInfoInternals.h>

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ConsoleCharReader_DmiProxy
: extends ConsoleCharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ConsoleCharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ConsoleCharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ConsoleCharReader)::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); }
  ConsoleCharReader_DmiProxy(IN(::acdk::lang::RObject) iolock)
  : ConsoleCharReader(iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ConsoleCharReader_DmiProxy()
  : ConsoleCharReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleCharReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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::io::, ConsoleCharReader)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleCharReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleCharReader_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 ConsoleCharReader_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleCharReader_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 ConsoleCharReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ConsoleCharReader_DmiProxy_interfaces[] =
{
  &ConsoleCharReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleCharReader_methods__ConsoleCharReader_in_acdk_lang_Object_args[] = 
{
  &ConsoleCharReader_DmiProxy_methods__ConsoleCharReader_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleCharReader_DmiProxy_methods__ConsoleCharReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ConsoleCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleCharReader::clazzInfo(), // returnType
  "_0_ConsoleCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleCharReader_methods__ConsoleCharReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleCharReader_DmiProxy::_ConsoleCharReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo ConsoleCharReader_DmiProxy_methods__ConsoleCharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ConsoleCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleCharReader::clazzInfo(), // returnType
  "_1_ConsoleCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleCharReader_methods__ConsoleCharReader_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleCharReader_DmiProxy::_ConsoleCharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ConsoleCharReader_methods[] = 
{
  &ConsoleCharReader_DmiProxy_methods__ConsoleCharReader_in_acdk_lang_Object,
  &ConsoleCharReader_DmiProxy_methods__ConsoleCharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* ConsoleCharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ConsoleCharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ConsoleCharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ConsoleCharReader_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_ConsoleCharReader_DmiProxy(ConsoleCharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class ConsoleCharWriter_DmiProxy
: extends ConsoleCharWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ConsoleCharWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ConsoleCharWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ConsoleCharWriter)::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); }
  ConsoleCharWriter_DmiProxy(ConsoleOutChannel fd, IN(::acdk::lang::RObject) iolock)
  : ConsoleCharWriter((ConsoleOutChannel)fd, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ConsoleCharWriter_DmiProxy(ConsoleOutChannel fd)
  : ConsoleCharWriter((ConsoleOutChannel)fd)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void writeChar(char c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleCharWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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::io::, ConsoleCharWriter)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleCharWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleCharWriter_I_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 ConsoleCharWriter_DmiProxy((ConsoleOutChannel)args[0].getIntVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleCharWriter_I_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 ConsoleCharWriter_DmiProxy((ConsoleOutChannel)args[0].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ConsoleCharWriter_DmiProxy_interfaces[] =
{
  &ConsoleCharWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_in_acdk_lang_Object_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleCharWriter_methods__ConsoleCharWriter_I_in_acdk_lang_Object_args[] = 
{
  &ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_in_acdk_lang_Object_arg_fd,
  &ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ConsoleCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleCharWriter::clazzInfo(), // returnType
  "_0_ConsoleCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleCharWriter_methods__ConsoleCharWriter_I_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleCharWriter_DmiProxy::_ConsoleCharWriter_I_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleCharWriter_methods__ConsoleCharWriter_I_args[] = 
{
  &ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_arg_fd,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ConsoleCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleCharWriter::clazzInfo(), // returnType
  "_1_ConsoleCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleCharWriter_methods__ConsoleCharWriter_I_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleCharWriter_DmiProxy::_ConsoleCharWriter_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ConsoleCharWriter_methods[] = 
{
  &ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I_in_acdk_lang_Object,
  &ConsoleCharWriter_DmiProxy_methods__ConsoleCharWriter_I,
  0
};

::acdk::lang::dmi::ClazzInfo* ConsoleCharWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ConsoleCharWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ConsoleCharWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ConsoleCharWriter_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_ConsoleCharWriter_DmiProxy(ConsoleCharWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ConsoleReader_DmiProxy
: extends ConsoleReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ConsoleReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ConsoleReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ConsoleReader)::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); }
  ConsoleReader_DmiProxy(InChannel fd)
  : ConsoleReader((InChannel)fd)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ConsoleReader_DmiProxy()
  : ConsoleReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int unread(byte ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::unread(ch);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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::io::, ConsoleReader)::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;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleReader_I_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 ConsoleReader_DmiProxy((InChannel)args[0].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleReader_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 ConsoleReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ConsoleReader_DmiProxy_interfaces[] =
{
  &ConsoleReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ConsoleReader_DmiProxy_methods__ConsoleReader_I_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleReader_methods__ConsoleReader_I_args[] = 
{
  &ConsoleReader_DmiProxy_methods__ConsoleReader_I_arg_fd,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleReader_DmiProxy_methods__ConsoleReader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ConsoleReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleReader::clazzInfo(), // returnType
  "_0_ConsoleReader_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleReader_methods__ConsoleReader_I_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleReader_DmiProxy::_ConsoleReader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo ConsoleReader_DmiProxy_methods__ConsoleReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ConsoleReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleReader::clazzInfo(), // returnType
  "_1_ConsoleReader_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleReader_methods__ConsoleReader_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleReader_DmiProxy::_ConsoleReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ConsoleReader_methods[] = 
{
  &ConsoleReader_DmiProxy_methods__ConsoleReader_I,
  &ConsoleReader_DmiProxy_methods__ConsoleReader,
  0
};

::acdk::lang::dmi::ClazzInfo* ConsoleReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ConsoleReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ConsoleReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ConsoleReader_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_ConsoleReader_DmiProxy(ConsoleReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ConsoleWriter_DmiProxy
: extends ConsoleWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ConsoleWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ConsoleWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ConsoleWriter)::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); }
  ConsoleWriter_DmiProxy(ConsoleOutChannel fd, IN(::acdk::lang::RObject) iolock)
  : ConsoleWriter((ConsoleOutChannel)fd, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ConsoleWriter_DmiProxy()
  : ConsoleWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ConsoleWriter_DmiProxy(ConsoleOutChannel fd)
  : ConsoleWriter((ConsoleOutChannel)fd)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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::io::, ConsoleWriter)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ConsoleWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleWriter_I_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 ConsoleWriter_DmiProxy((ConsoleOutChannel)args[0].getIntVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleWriter_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 ConsoleWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ConsoleWriter_I_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 ConsoleWriter_DmiProxy((ConsoleOutChannel)args[0].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ConsoleWriter_DmiProxy_interfaces[] =
{
  &ConsoleWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_in_acdk_lang_Object_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleWriter_methods__ConsoleWriter_I_in_acdk_lang_Object_args[] = 
{
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_in_acdk_lang_Object_arg_fd,
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ConsoleWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleWriter::clazzInfo(), // returnType
  "_0_ConsoleWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleWriter_methods__ConsoleWriter_I_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleWriter_DmiProxy::_ConsoleWriter_I_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo ConsoleWriter_DmiProxy_methods__ConsoleWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ConsoleWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleWriter::clazzInfo(), // returnType
  "_1_ConsoleWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleWriter_methods__ConsoleWriter_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleWriter_DmiProxy::_ConsoleWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ConsoleWriter_methods__ConsoleWriter_I_args[] = 
{
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_arg_fd,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ConsoleWriter_DmiProxy_methods__ConsoleWriter_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ConsoleWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ConsoleWriter::clazzInfo(), // returnType
  "_2_ConsoleWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ConsoleWriter_methods__ConsoleWriter_I_args,
  0, // argumentCount
  0, // excpetions,
  ConsoleWriter_DmiProxy::_ConsoleWriter_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ConsoleWriter_methods[] = 
{
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter_I_in_acdk_lang_Object,
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter,
  &ConsoleWriter_DmiProxy_methods__ConsoleWriter_I,
  0
};

::acdk::lang::dmi::ClazzInfo* ConsoleWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ConsoleWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ConsoleWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ConsoleWriter_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_ConsoleWriter_DmiProxy(ConsoleWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class DataReader_DmiProxy
: extends ::acdk::lang::Object
, implements DataReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(DataReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  DataReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, DataReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new DataReader_DmiProxy(); }
  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); }
  DataReader_DmiProxy()
  : DataReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool readBoolean()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  char readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  double readDouble()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  float readFloat()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong readLong()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::readOpaque();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  short readShort()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ucchar readUcChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _DataReader_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 DataReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _DataReader_DmiProxy_interfaces[] =
{
  &DataReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo DataReader_DmiProxy_methods__DataReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "DataReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  DataReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  DataReader_methods__DataReader_args,
  0, // argumentCount
  0, // excpetions,
  DataReader_DmiProxy::_DataReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* DataReader_methods[] = 
{
  &DataReader_DmiProxy_methods__DataReader,
  0
};

::acdk::lang::dmi::ClazzInfo* DataReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "DataReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _DataReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     DataReader_methods, // pointer to Array of Methods
     0, // count of Methods
     DataReader_DmiProxy::create_instance, // 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_DataReader_DmiProxy(DataReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class DataWriter_DmiProxy
: extends ::acdk::lang::Object
, implements DataWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(DataWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  DataWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, DataWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new DataWriter_DmiProxy(); }
  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); }
  DataWriter_DmiProxy()
  : DataWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void write(IN(RbyteArray) array, int offset, int len)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeBoolean(bool b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(char b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeDouble(double b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeFloat(float b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeInt(int b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeLong(jlong b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeOpaque(IN(RbyteArray) array)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::writeOpaque(array);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    _dmiProxyGetTarget()->standardDispatch("writeOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeShort(short b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeUcChar(ucchar b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _DataWriter_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 DataWriter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _DataWriter_DmiProxy_interfaces[] =
{
  &DataWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo DataWriter_DmiProxy_methods__DataWriter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "DataWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  DataWriter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  DataWriter_methods__DataWriter_args,
  0, // argumentCount
  0, // excpetions,
  DataWriter_DmiProxy::_DataWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* DataWriter_methods[] = 
{
  &DataWriter_DmiProxy_methods__DataWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* DataWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "DataWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _DataWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     DataWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     DataWriter_DmiProxy::create_instance, // 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_DataWriter_DmiProxy(DataWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class EOFException_DmiProxy
: extends EOFException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(EOFException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  EOFException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, EOFException)::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); }
  EOFException_DmiProxy()
  : EOFException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  EOFException_DmiProxy(IN(::acdk::lang::RString) what)
  : EOFException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, EOFException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, EOFException)::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::io::, EOFException)::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::io::, EOFException)::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::io::, EOFException)::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::io::, EOFException)::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::io::, EOFException)::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::io::, EOFException)::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*
  _EOFException_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 EOFException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _EOFException_in_acdk_lang_String_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 EOFException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _EOFException_DmiProxy_interfaces[] =
{
  &EOFException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo EOFException_DmiProxy_methods__EOFException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "EOFException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  EOFException::clazzInfo(), // returnType
  "_0_EOFException_DmiProxy", // altname
  -1, // altnamehashCode
  EOFException_methods__EOFException_args,
  0, // argumentCount
  0, // excpetions,
  EOFException_DmiProxy::_EOFException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* EOFException_methods__EOFException_in_acdk_lang_String_args[] = 
{
  &EOFException_DmiProxy_methods__EOFException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo EOFException_DmiProxy_methods__EOFException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "EOFException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  EOFException::clazzInfo(), // returnType
  "_1_EOFException_DmiProxy", // altname
  -1, // altnamehashCode
  EOFException_methods__EOFException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  EOFException_DmiProxy::_EOFException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* EOFException_methods[] = 
{
  &EOFException_DmiProxy_methods__EOFException,
  &EOFException_DmiProxy_methods__EOFException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* EOFException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "EOFException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _EOFException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     EOFException_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_EOFException_DmiProxy(EOFException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class File_DmiProxy
: extends File
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(File)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  File::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, File)::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); }
  File_DmiProxy(IN(::acdk::io::RFileImpl) fileimpl)
  : File(fileimpl)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  File_DmiProxy(IN(::acdk::lang::RString) path)
  : File(path)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  File_DmiProxy(IN(::acdk::io::RFile) parent, IN(::acdk::lang::RString) child)
  : File(parent, child)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  File_DmiProxy(IN(::acdk::lang::RString) parent, IN(::acdk::lang::RString) child)
  : File(parent, child)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int compareTo(IN(::acdk::io::RFile) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::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;
  }
  ::acdk::io::RFileInfo getFileInfo()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::clazzInfo()->methods[24]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::getFileInfo();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFileInfo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileInfo)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::clazzInfo()->methods[29]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::getReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::clazzInfo()->methods[30]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::getWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFile makeChild(::acdk::lang::RString subfile)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::clazzInfo()->methods[46]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, File)::makeChild(subfile);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(subfile);
    _dmiProxyGetTarget()->standardDispatch("makeChild", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__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::io::, File)::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::io::, File)::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::io::, File)::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::io::, File)::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::io::, File)::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::io::, File)::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::io::, File)::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*
  _File_in_acdk_io_FileImpl_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 File_DmiProxy((::acdk::io::RFileImpl)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _File_in_acdk_lang_String_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 File_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _File_in_acdk_io_File_in_acdk_lang_String_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 File_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _File_in_acdk_lang_String_in_acdk_lang_String_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 File_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _File_DmiProxy_interfaces[] =
{
  &File_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo File_DmiProxy_methods__File_in_acdk_io_FileImpl_arg_fileimpl =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "fileimpl",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileImpl::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* File_methods__File_in_acdk_io_FileImpl_args[] = 
{
  &File_DmiProxy_methods__File_in_acdk_io_FileImpl_arg_fileimpl,
  0
};

::acdk::lang::dmi::ClazzMethodInfo File_DmiProxy_methods__File_in_acdk_io_FileImpl = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "File_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  File::clazzInfo(), // returnType
  "_2_File_DmiProxy", // altname
  -1, // altnamehashCode
  File_methods__File_in_acdk_io_FileImpl_args,
  0, // argumentCount
  0, // excpetions,
  File_DmiProxy::_File_in_acdk_io_FileImpl_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* File_methods__File_in_acdk_lang_String_args[] = 
{
  &File_DmiProxy_methods__File_in_acdk_lang_String_arg_path,
  0
};

::acdk::lang::dmi::ClazzMethodInfo File_DmiProxy_methods__File_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "File_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  File::clazzInfo(), // returnType
  "_3_File_DmiProxy", // altname
  -1, // altnamehashCode
  File_methods__File_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  File_DmiProxy::_File_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo File_DmiProxy_methods__File_in_acdk_io_File_in_acdk_lang_String_arg_parent =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "parent",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* File_methods__File_in_acdk_io_File_in_acdk_lang_String_args[] = 
{
  &File_DmiProxy_methods__File_in_acdk_io_File_in_acdk_lang_String_arg_parent,
  &File_DmiProxy_methods__File_in_acdk_io_File_in_acdk_lang_String_arg_child,
  0
};

::acdk::lang::dmi::ClazzMethodInfo File_DmiProxy_methods__File_in_acdk_io_File_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "File_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  File::clazzInfo(), // returnType
  "_4_File_DmiProxy", // altname
  -1, // altnamehashCode
  File_methods__File_in_acdk_io_File_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  File_DmiProxy::_File_in_acdk_io_File_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* File_methods__File_in_acdk_lang_String_in_acdk_lang_String_args[] = 
{
  &File_DmiProxy_methods__File_in_acdk_lang_String_in_acdk_lang_String_arg_parent,
  &File_DmiProxy_methods__File_in_acdk_lang_String_in_acdk_lang_String_arg_child,
  0
};

::acdk::lang::dmi::ClazzMethodInfo File_DmiProxy_methods__File_in_acdk_lang_String_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "File_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  File::clazzInfo(), // returnType
  "_5_File_DmiProxy", // altname
  -1, // altnamehashCode
  File_methods__File_in_acdk_lang_String_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  File_DmiProxy::_File_in_acdk_lang_String_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* File_methods[] = 
{
  &File_DmiProxy_methods__File_in_acdk_io_FileImpl,
  &File_DmiProxy_methods__File_in_acdk_lang_String,
  &File_DmiProxy_methods__File_in_acdk_io_File_in_acdk_lang_String,
  &File_DmiProxy_methods__File_in_acdk_lang_String_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* File_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "File_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _File_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     File_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_File_DmiProxy(File_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FileDescriptor_DmiProxy
: extends FileDescriptor
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileDescriptor)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileDescriptor::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileDescriptor)::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); }
  FileDescriptor_DmiProxy(int fd, int omode, bool dupl)
  : FileDescriptor(fd, omode, dupl)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileDescriptor_DmiProxy(int fd, int omode)
  : FileDescriptor(fd, omode)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileDescriptor_DmiProxy(IN(::acdk::io::RFileDescriptor) f, bool dupl)
  : FileDescriptor(f, dupl)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileDescriptor_DmiProxy(IN(::acdk::io::RFileDescriptor) f)
  : FileDescriptor(f)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileDescriptor_DmiProxy()
  : FileDescriptor()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void sync()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileDescriptor)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileDescriptor)::sync();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("sync", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool valid()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileDescriptor)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileDescriptor)::valid();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("valid", __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::io::, FileDescriptor)::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::io::, FileDescriptor)::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::io::, FileDescriptor)::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::io::, FileDescriptor)::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::io::, FileDescriptor)::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::io::, FileDescriptor)::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::io::, FileDescriptor)::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*
  _FileDescriptor_I_I_Z_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 FileDescriptor_DmiProxy(args[0].getIntVar(), args[1].getIntVar(), args[2].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileDescriptor_I_I_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 FileDescriptor_DmiProxy(args[0].getIntVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileDescriptor_in_acdk_io_FileDescriptor_Z_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 FileDescriptor_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileDescriptor_in_acdk_io_FileDescriptor_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 FileDescriptor_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileDescriptor_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 FileDescriptor_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileDescriptor_DmiProxy_interfaces[] =
{
  &FileDescriptor_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_omode =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "omode",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_dupl =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dupl",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileDescriptor_methods__FileDescriptor_I_I_Z_args[] = 
{
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_fd,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_omode,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z_arg_dupl,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileDescriptor::clazzInfo(), // returnType
  "_0_FileDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  FileDescriptor_methods__FileDescriptor_I_I_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileDescriptor_DmiProxy::_FileDescriptor_I_I_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_arg_omode =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "omode",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileDescriptor_methods__FileDescriptor_I_I_args[] = 
{
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_arg_fd,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_arg_omode,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileDescriptor_DmiProxy_methods__FileDescriptor_I_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileDescriptor::clazzInfo(), // returnType
  "_1_FileDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  FileDescriptor_methods__FileDescriptor_I_I_args,
  0, // argumentCount
  0, // excpetions,
  FileDescriptor_DmiProxy::_FileDescriptor_I_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_arg_f =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "f",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_arg_dupl =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dupl",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileDescriptor_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_args[] = 
{
  &FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_arg_f,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_arg_dupl,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileDescriptor::clazzInfo(), // returnType
  "_2_FileDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  FileDescriptor_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileDescriptor_DmiProxy::_FileDescriptor_in_acdk_io_FileDescriptor_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_arg_f =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "f",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileDescriptor_methods__FileDescriptor_in_acdk_io_FileDescriptor_args[] = 
{
  &FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_arg_f,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileDescriptor::clazzInfo(), // returnType
  "_3_FileDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  FileDescriptor_methods__FileDescriptor_in_acdk_io_FileDescriptor_args,
  0, // argumentCount
  0, // excpetions,
  FileDescriptor_DmiProxy::_FileDescriptor_in_acdk_io_FileDescriptor_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo FileDescriptor_DmiProxy_methods__FileDescriptor = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileDescriptor::clazzInfo(), // returnType
  "_4_FileDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  FileDescriptor_methods__FileDescriptor_args,
  0, // argumentCount
  0, // excpetions,
  FileDescriptor_DmiProxy::_FileDescriptor_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileDescriptor_methods[] = 
{
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I_Z,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_I_I,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor_Z,
  &FileDescriptor_DmiProxy_methods__FileDescriptor_in_acdk_io_FileDescriptor,
  &FileDescriptor_DmiProxy_methods__FileDescriptor,
  0
};

::acdk::lang::dmi::ClazzInfo* FileDescriptor_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileDescriptor_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileDescriptor_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileDescriptor_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_FileDescriptor_DmiProxy(FileDescriptor_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FileFilter_DmiProxy
: extends ::acdk::lang::Object
, implements FileFilter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileFilter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileFilter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileFilter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FileFilter_DmiProxy(); }
  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); }
  FileFilter_DmiProxy()
  : FileFilter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool accept(IN(::acdk::io::RFile) path)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(path);
    _dmiProxyGetTarget()->standardDispatch("accept", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileFilter_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 FileFilter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileFilter_DmiProxy_interfaces[] =
{
  &FileFilter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileFilter_DmiProxy_methods__FileFilter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileFilter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileFilter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FileFilter_methods__FileFilter_args,
  0, // argumentCount
  0, // excpetions,
  FileFilter_DmiProxy::_FileFilter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileFilter_methods[] = 
{
  &FileFilter_DmiProxy_methods__FileFilter,
  0
};

::acdk::lang::dmi::ClazzInfo* FileFilter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileFilter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileFilter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileFilter_methods, // pointer to Array of Methods
     0, // count of Methods
     FileFilter_DmiProxy::create_instance, // 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_FileFilter_DmiProxy(FileFilter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class FileImpl_DmiProxy
: extends ::acdk::lang::Object
, implements FileImpl
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileImpl)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileImpl::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileImpl)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FileImpl_DmiProxy(); }
  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); }
  FileImpl_DmiProxy()
  : FileImpl()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool canRead()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("canRead", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool canWrite()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("canWrite", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool createNewFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("createNewFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool deleteFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("deleteFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool exists()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("exists", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong fileCreated()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("fileCreated", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString getAbsolutePath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getAbsolutePath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getCanonicalPath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCanonicalPath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileInfo getFileInfo()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::getFileInfo();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFileInfo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileInfo)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileSystem getFileSystem()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFileSystem", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileSystem)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFile getParentFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getParentFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getPath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getPath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getWriter()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isAbsolute()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isAbsolute", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isDirectory()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isDirectory", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isHidden()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isHidden", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong lastModified()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lastModified", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong length()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("length", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RStringArray list(IN(::acdk::io::RFilenameFilter) filter, int listFlags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[22]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::list(filter, listFlags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(filter);
    __acdk_args[1] = ::acdk::lang::inOf(listFlags);
    _dmiProxyGetTarget()->standardDispatch("list", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStringArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileArray listFiles(IN(::acdk::io::RFileFilter) filter, int listFlags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[25]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::listFiles(filter, listFlags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(filter);
    __acdk_args[1] = ::acdk::lang::inOf(listFlags);
    _dmiProxyGetTarget()->standardDispatch("listFiles", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFile makeChild(IN(::acdk::lang::RString) subfile)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(subfile);
    _dmiProxyGetTarget()->standardDispatch("makeChild", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  bool mkdir(int mode)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(mode);
    _dmiProxyGetTarget()->standardDispatch("mkdir", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool renameTo(IN(::acdk::io::RFile) dest)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(dest);
    _dmiProxyGetTarget()->standardDispatch("renameTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileAttributes(int mask, int flags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[32]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::setFileAttributes(mask, flags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(mask);
    __acdk_args[1] = ::acdk::lang::inOf(flags);
    _dmiProxyGetTarget()->standardDispatch("setFileAttributes", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileCreated(jlong time)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[33]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::setFileCreated(time);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(time);
    _dmiProxyGetTarget()->standardDispatch("setFileCreated", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileFlags(int flags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[34]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::setFileFlags(flags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(flags);
    _dmiProxyGetTarget()->standardDispatch("setFileFlags", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setLastModified(jlong time)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(time);
    _dmiProxyGetTarget()->standardDispatch("setLastModified", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileImpl_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 FileImpl_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileImpl_DmiProxy_interfaces[] =
{
  &FileImpl_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileImpl_DmiProxy_methods__FileImpl = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileImpl::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FileImpl_methods__FileImpl_args,
  0, // argumentCount
  0, // excpetions,
  FileImpl_DmiProxy::_FileImpl_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileImpl_methods[] = 
{
  &FileImpl_DmiProxy_methods__FileImpl,
  0
};

::acdk::lang::dmi::ClazzInfo* FileImpl_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileImpl_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileImpl_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileImpl_methods, // pointer to Array of Methods
     0, // count of Methods
     FileImpl_DmiProxy::create_instance, // 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_FileImpl_DmiProxy(FileImpl_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class FileInfo_DmiProxy
: extends FileInfo
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileInfo)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileInfo::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileInfo)::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); }
  FileInfo_DmiProxy()
  : FileInfo()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(IN(::acdk::io::RFileInfo) other)
  : FileInfo(other)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(IN(::acdk::lang::RString) path)
  : FileInfo(path)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(int fiflags, IN(::acdk::lang::RString) parent, IN(::acdk::lang::RString) filename, jlong filesize, jlong creat, jlong modif)
  : FileInfo(fiflags, parent, filename, filesize, creat, modif)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(int fiflags, IN(::acdk::lang::RString) parent, IN(::acdk::lang::RString) filename)
  : FileInfo(fiflags, parent, filename)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(int fiflags, IN(::acdk::lang::RString) parent, IN(::acdk::lang::RString) filename, jlong filesize)
  : FileInfo(fiflags, parent, filename, filesize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileInfo_DmiProxy(int fiflags, IN(::acdk::lang::RString) parent, IN(::acdk::lang::RString) filename, jlong filesize, jlong creat)
  : FileInfo(fiflags, parent, filename, filesize, creat)
  {
     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::io::, FileInfo)::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::io::, FileInfo)::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::io::, FileInfo)::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::io::, FileInfo)::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::io::, FileInfo)::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::io::, FileInfo)::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::io::, FileInfo)::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*
  _FileInfo_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 FileInfo_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_in_acdk_io_FileInfo_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 FileInfo_DmiProxy((::acdk::io::RFileInfo)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_in_acdk_lang_String_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 FileInfo_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_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 FileInfo_DmiProxy(args[0].getIntVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::lang::RString)args[2].getObjectVar(), args[3].getLongVar(), args[4].getLongVar(), args[5].getLongVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_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 FileInfo_DmiProxy(args[0].getIntVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::lang::RString)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_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 FileInfo_DmiProxy(args[0].getIntVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::lang::RString)args[2].getObjectVar(), args[3].getLongVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_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 FileInfo_DmiProxy(args[0].getIntVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::lang::RString)args[2].getObjectVar(), args[3].getLongVar(), args[4].getLongVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileInfo_DmiProxy_interfaces[] =
{
  &FileInfo_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_0_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_in_acdk_io_FileInfo_arg_other =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "other",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileInfo::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_in_acdk_io_FileInfo_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_in_acdk_io_FileInfo_arg_other,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_in_acdk_io_FileInfo = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_1_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_in_acdk_io_FileInfo_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_in_acdk_io_FileInfo_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_in_acdk_lang_String_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_in_acdk_lang_String_arg_path,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_2_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_fiflags =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fiflags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_filesize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "filesize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_creat =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "creat",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_modif =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "modif",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_fiflags,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_parent,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_filename,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_filesize,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_creat,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_arg_modif,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_3_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_arg_fiflags =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fiflags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_arg_fiflags,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_arg_parent,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_arg_filename,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_4_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_fiflags =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fiflags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_filesize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "filesize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_fiflags,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_parent,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_filename,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_arg_filesize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_5_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_fiflags =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "fiflags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_filesize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "filesize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_creat =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "creat",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getLongClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_args[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_fiflags,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_parent,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_filename,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_filesize,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_arg_creat,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileInfo_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileInfo::clazzInfo(), // returnType
  "_6_FileInfo_DmiProxy", // altname
  -1, // altnamehashCode
  FileInfo_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_args,
  0, // argumentCount
  0, // excpetions,
  FileInfo_DmiProxy::_FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileInfo_methods[] = 
{
  &FileInfo_DmiProxy_methods__FileInfo,
  &FileInfo_DmiProxy_methods__FileInfo_in_acdk_io_FileInfo,
  &FileInfo_DmiProxy_methods__FileInfo_in_acdk_lang_String,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J_J,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J,
  &FileInfo_DmiProxy_methods__FileInfo_I_in_acdk_lang_String_in_acdk_lang_String_J_J,
  0
};

::acdk::lang::dmi::ClazzInfo* FileInfo_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileInfo_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileInfo_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileInfo_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_FileInfo_DmiProxy(FileInfo_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FilenameFilter_DmiProxy
: extends ::acdk::lang::Object
, implements FilenameFilter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FilenameFilter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FilenameFilter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FilenameFilter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FilenameFilter_DmiProxy(); }
  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); }
  FilenameFilter_DmiProxy()
  : FilenameFilter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool accept(IN(::acdk::io::RFile) dir, IN(::acdk::lang::RString) name)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(dir);
    __acdk_args[1] = ::acdk::lang::inOf(name);
    _dmiProxyGetTarget()->standardDispatch("accept", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FilenameFilter_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 FilenameFilter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FilenameFilter_DmiProxy_interfaces[] =
{
  &FilenameFilter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FilenameFilter_DmiProxy_methods__FilenameFilter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FilenameFilter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FilenameFilter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FilenameFilter_methods__FilenameFilter_args,
  0, // argumentCount
  0, // excpetions,
  FilenameFilter_DmiProxy::_FilenameFilter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FilenameFilter_methods[] = 
{
  &FilenameFilter_DmiProxy_methods__FilenameFilter,
  0
};

::acdk::lang::dmi::ClazzInfo* FilenameFilter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FilenameFilter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FilenameFilter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FilenameFilter_methods, // pointer to Array of Methods
     0, // count of Methods
     FilenameFilter_DmiProxy::create_instance, // 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_FilenameFilter_DmiProxy(FilenameFilter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FileNotFoundException_DmiProxy
: extends FileNotFoundException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileNotFoundException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileNotFoundException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileNotFoundException)::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); }
  FileNotFoundException_DmiProxy()
  : FileNotFoundException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileNotFoundException_DmiProxy(IN(::acdk::lang::RString) what)
  : FileNotFoundException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileNotFoundException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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::io::, FileNotFoundException)::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*
  _FileNotFoundException_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 FileNotFoundException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileNotFoundException_in_acdk_lang_String_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 FileNotFoundException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileNotFoundException_DmiProxy_interfaces[] =
{
  &FileNotFoundException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileNotFoundException_DmiProxy_methods__FileNotFoundException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileNotFoundException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileNotFoundException::clazzInfo(), // returnType
  "_0_FileNotFoundException_DmiProxy", // altname
  -1, // altnamehashCode
  FileNotFoundException_methods__FileNotFoundException_args,
  0, // argumentCount
  0, // excpetions,
  FileNotFoundException_DmiProxy::_FileNotFoundException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* FileNotFoundException_methods__FileNotFoundException_in_acdk_lang_String_args[] = 
{
  &FileNotFoundException_DmiProxy_methods__FileNotFoundException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileNotFoundException_DmiProxy_methods__FileNotFoundException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileNotFoundException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileNotFoundException::clazzInfo(), // returnType
  "_1_FileNotFoundException_DmiProxy", // altname
  -1, // altnamehashCode
  FileNotFoundException_methods__FileNotFoundException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  FileNotFoundException_DmiProxy::_FileNotFoundException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileNotFoundException_methods[] = 
{
  &FileNotFoundException_DmiProxy_methods__FileNotFoundException,
  &FileNotFoundException_DmiProxy_methods__FileNotFoundException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* FileNotFoundException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileNotFoundException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileNotFoundException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileNotFoundException_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_FileNotFoundException_DmiProxy(FileNotFoundException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FileReader_DmiProxy
: extends FileReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileReader)::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); }
  FileReader_DmiProxy(IN(::acdk::io::RFile) file, bool binary)
  : FileReader(file, binary)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileReader_DmiProxy(IN(::acdk::io::RFile) file)
  : FileReader(file)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileReader_DmiProxy(IN(::acdk::lang::RString) fileName, bool binary)
  : FileReader(fileName, binary)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileReader_DmiProxy(IN(::acdk::lang::RString) fileName)
  : FileReader(fileName)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileReader_DmiProxy(IN(::acdk::io::RFileDescriptor) fd, bool dupl)
  : FileReader(fd, dupl)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileReader_DmiProxy(IN(::acdk::io::RFileDescriptor) fd)
  : FileReader(fd)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void open(IN(::acdk::io::RFile) fname)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::open(fname);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fname);
    _dmiProxyGetTarget()->standardDispatch("open", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString readLine()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::readLine();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLine", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, FileReader)::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::io::, FileReader)::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::io::, FileReader)::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::io::, FileReader)::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::io::, FileReader)::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::io::, FileReader)::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::io::, FileReader)::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;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_io_File_Z_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 FileReader_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_io_File_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 FileReader_DmiProxy((::acdk::io::RFile)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_lang_String_Z_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 FileReader_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_lang_String_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 FileReader_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_io_FileDescriptor_Z_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 FileReader_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileReader_in_acdk_io_FileDescriptor_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 FileReader_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileReader_DmiProxy_interfaces[] =
{
  &FileReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z_arg_file =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "file",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z_arg_binary =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "binary",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_io_File_Z_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z_arg_file,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z_arg_binary,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_0_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_io_File_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_io_File_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_arg_file =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "file",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_io_File_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_arg_file,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_File = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_1_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_io_File_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_io_File_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_Z_arg_binary =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "binary",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_lang_String_Z_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_Z_arg_fileName,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_Z_arg_binary,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_2_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_lang_String_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_lang_String_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_lang_String_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_arg_fileName,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_3_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z_arg_dupl =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dupl",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_io_FileDescriptor_Z_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z_arg_fd,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z_arg_dupl,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_4_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_io_FileDescriptor_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_io_FileDescriptor_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileReader_methods__FileReader_in_acdk_io_FileDescriptor_args[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_arg_fd,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileReader::clazzInfo(), // returnType
  "_5_FileReader_DmiProxy", // altname
  -1, // altnamehashCode
  FileReader_methods__FileReader_in_acdk_io_FileDescriptor_args,
  0, // argumentCount
  0, // excpetions,
  FileReader_DmiProxy::_FileReader_in_acdk_io_FileDescriptor_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileReader_methods[] = 
{
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_File_Z,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_File,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String_Z,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_lang_String,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor_Z,
  &FileReader_DmiProxy_methods__FileReader_in_acdk_io_FileDescriptor,
  0
};

::acdk::lang::dmi::ClazzInfo* FileReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileReader_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_FileReader_DmiProxy(FileReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class FileSystem_DmiProxy
: extends ::acdk::lang::Object
, implements FileSystem
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileSystem)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileSystem::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileSystem)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FileSystem_DmiProxy(); }
  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); }
  FileSystem_DmiProxy()
  : FileSystem()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RFile file(IN(::acdk::lang::RString) path)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(path);
    _dmiProxyGetTarget()->standardDispatch("file", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileImpl getFileImpl(IN(::acdk::lang::RString) fqpath)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fqpath);
    _dmiProxyGetTarget()->standardDispatch("getFileImpl", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileImpl)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getRootName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getRootName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileArray listFiles(IN(::acdk::lang::RString) directory, int listflags)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(directory);
    __acdk_args[1] = ::acdk::lang::inOf(listflags);
    _dmiProxyGetTarget()->standardDispatch("listFiles", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileArray)(::acdk::lang::RObject)__acdk_retval;
  }
  bool ownsFile(IN(::acdk::lang::RString) fname)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fname);
    _dmiProxyGetTarget()->standardDispatch("ownsFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileSystem_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 FileSystem_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileSystem_DmiProxy_interfaces[] =
{
  &FileSystem_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileSystem_DmiProxy_methods__FileSystem = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileSystem_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileSystem::clazzInfo(), // returnType
  "_0_FileSystem_DmiProxy", // altname
  -1, // altnamehashCode
  FileSystem_methods__FileSystem_args,
  0, // argumentCount
  0, // excpetions,
  FileSystem_DmiProxy::_FileSystem_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileSystem_methods[] = 
{
  &FileSystem_DmiProxy_methods__FileSystem,
  0
};

::acdk::lang::dmi::ClazzInfo* FileSystem_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileSystem_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileSystem_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileSystem_methods, // pointer to Array of Methods
     0, // count of Methods
     FileSystem_DmiProxy::create_instance, // 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_FileSystem_DmiProxy(FileSystem_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class FileSystemFactory_DmiProxy
: extends ::acdk::lang::Object
, implements FileSystemFactory
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileSystemFactory)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileSystemFactory::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileSystemFactory)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FileSystemFactory_DmiProxy(); }
  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); }
  FileSystemFactory_DmiProxy()
  : FileSystemFactory()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RFileSystem create(IN(::acdk::lang::RString) file)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(file);
    _dmiProxyGetTarget()->standardDispatch("create", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileSystem)(::acdk::lang::RObject)__acdk_retval;
  }
  int handleFile(IN(::acdk::lang::RString) file)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(file);
    _dmiProxyGetTarget()->standardDispatch("handleFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileSystemFactory_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 FileSystemFactory_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileSystemFactory_DmiProxy_interfaces[] =
{
  &FileSystemFactory_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FileSystemFactory_DmiProxy_methods__FileSystemFactory = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileSystemFactory_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileSystemFactory::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FileSystemFactory_methods__FileSystemFactory_args,
  0, // argumentCount
  0, // excpetions,
  FileSystemFactory_DmiProxy::_FileSystemFactory_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileSystemFactory_methods[] = 
{
  &FileSystemFactory_DmiProxy_methods__FileSystemFactory,
  0
};

::acdk::lang::dmi::ClazzInfo* FileSystemFactory_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileSystemFactory_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileSystemFactory_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileSystemFactory_methods, // pointer to Array of Methods
     0, // count of Methods
     FileSystemFactory_DmiProxy::create_instance, // 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_FileSystemFactory_DmiProxy(FileSystemFactory_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FileWriter_DmiProxy
: extends FileWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FileWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FileWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FileWriter)::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); }
  FileWriter_DmiProxy(IN(::acdk::io::RFile) file, bool append, bool binary)
  : FileWriter(file, append, binary)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::io::RFile) file)
  : FileWriter(file)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::io::RFile) file, bool append)
  : FileWriter(file, append)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::io::RFileDescriptor) fd, bool dupl)
  : FileWriter(fd, dupl)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::io::RFileDescriptor) fd)
  : FileWriter(fd)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::lang::RString) fileName, bool append, bool binary)
  : FileWriter(fileName, append, binary)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::lang::RString) fileName)
  : FileWriter(fileName)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  FileWriter_DmiProxy(IN(::acdk::lang::RString) fileName, bool append)
  : FileWriter(fileName, append)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, FileWriter)::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::io::, FileWriter)::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::io::, FileWriter)::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::io::, FileWriter)::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::io::, FileWriter)::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::io::, FileWriter)::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::io::, FileWriter)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_io_File_Z_Z_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 FileWriter_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), args[1].getBoolVar(), args[2].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_io_File_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 FileWriter_DmiProxy((::acdk::io::RFile)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_io_File_Z_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 FileWriter_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_io_FileDescriptor_Z_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 FileWriter_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_io_FileDescriptor_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 FileWriter_DmiProxy((::acdk::io::RFileDescriptor)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_lang_String_Z_Z_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 FileWriter_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getBoolVar(), args[2].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_lang_String_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 FileWriter_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FileWriter_in_acdk_lang_String_Z_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 FileWriter_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FileWriter_DmiProxy_interfaces[] =
{
  &FileWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_file =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "file",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_append =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "append",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_binary =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "binary",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_io_File_Z_Z_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_file,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_append,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z_arg_binary,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_0_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_io_File_Z_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_io_File_Z_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_arg_file =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "file",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_io_File_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_arg_file,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_1_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_io_File_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_io_File_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_arg_file =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "file",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::File::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_arg_append =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "append",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_io_File_Z_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_arg_file,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_arg_append,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_2_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_io_File_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_io_File_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z_arg_dupl =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dupl",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_io_FileDescriptor_Z_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z_arg_fd,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z_arg_dupl,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_3_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_io_FileDescriptor_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_io_FileDescriptor_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_arg_fd =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "fd",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::FileDescriptor::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_io_FileDescriptor_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_arg_fd,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_4_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_io_FileDescriptor_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_io_FileDescriptor_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z_arg_append =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "append",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z_arg_binary =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "binary",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_lang_String_Z_Z_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z_arg_fileName,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z_arg_append,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z_arg_binary,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_5_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_lang_String_Z_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_lang_String_Z_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_lang_String_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_arg_fileName,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_6_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_arg_append =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "append",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* FileWriter_methods__FileWriter_in_acdk_lang_String_Z_args[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_arg_fileName,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_arg_append,
  0
};

::acdk::lang::dmi::ClazzMethodInfo FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FileWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FileWriter::clazzInfo(), // returnType
  "_7_FileWriter_DmiProxy", // altname
  -1, // altnamehashCode
  FileWriter_methods__FileWriter_in_acdk_lang_String_Z_args,
  0, // argumentCount
  0, // excpetions,
  FileWriter_DmiProxy::_FileWriter_in_acdk_lang_String_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FileWriter_methods[] = 
{
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z_Z,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_File_Z,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor_Z,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_io_FileDescriptor,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z_Z,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String,
  &FileWriter_DmiProxy_methods__FileWriter_in_acdk_lang_String_Z,
  0
};

::acdk::lang::dmi::ClazzInfo* FileWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FileWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FileWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FileWriter_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_FileWriter_DmiProxy(FileWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FilterReader_DmiProxy
: extends ::acdk::lang::Object
, implements FilterReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FilterReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FilterReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FilterReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FilterReader_DmiProxy(); }
  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); }
  FilterReader_DmiProxy()
  : FilterReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FilterReader_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 FilterReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FilterReader_DmiProxy_interfaces[] =
{
  &FilterReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FilterReader_DmiProxy_methods__FilterReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FilterReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FilterReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FilterReader_methods__FilterReader_args,
  0, // argumentCount
  0, // excpetions,
  FilterReader_DmiProxy::_FilterReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FilterReader_methods[] = 
{
  &FilterReader_DmiProxy_methods__FilterReader,
  0
};

::acdk::lang::dmi::ClazzInfo* FilterReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FilterReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FilterReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FilterReader_methods, // pointer to Array of Methods
     0, // count of Methods
     FilterReader_DmiProxy::create_instance, // 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_FilterReader_DmiProxy(FilterReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class FilterWriter_DmiProxy
: extends ::acdk::lang::Object
, implements FilterWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(FilterWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  FilterWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, FilterWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new FilterWriter_DmiProxy(); }
  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); }
  FilterWriter_DmiProxy()
  : FilterWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FilterWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _FilterWriter_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 FilterWriter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _FilterWriter_DmiProxy_interfaces[] =
{
  &FilterWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo FilterWriter_DmiProxy_methods__FilterWriter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "FilterWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  FilterWriter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  FilterWriter_methods__FilterWriter_args,
  0, // argumentCount
  0, // excpetions,
  FilterWriter_DmiProxy::_FilterWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* FilterWriter_methods[] = 
{
  &FilterWriter_DmiProxy_methods__FilterWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* FilterWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "FilterWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _FilterWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     FilterWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     FilterWriter_DmiProxy::create_instance, // 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_FilterWriter_DmiProxy(FilterWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class GlobFilenameFilter_DmiProxy
: extends GlobFilenameFilter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(GlobFilenameFilter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  GlobFilenameFilter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, GlobFilenameFilter)::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); }
  GlobFilenameFilter_DmiProxy(IN(::acdk::lang::RString) pattern)
  : GlobFilenameFilter(pattern)
  {
     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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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::io::, GlobFilenameFilter)::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;
  }
  bool accept(IN(::acdk::io::RFile) dir, IN(::acdk::lang::RString) name)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(dir);
    __acdk_args[1] = ::acdk::lang::inOf(name);
    _dmiProxyGetTarget()->standardDispatch("accept", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool accept(IN(::acdk::io::RFile) path)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(path);
    _dmiProxyGetTarget()->standardDispatch("accept", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _GlobFilenameFilter_in_acdk_lang_String_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 GlobFilenameFilter_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _GlobFilenameFilter_DmiProxy_interfaces[] =
{
  &GlobFilenameFilter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* GlobFilenameFilter_methods__GlobFilenameFilter_in_acdk_lang_String_args[] = 
{
  &GlobFilenameFilter_DmiProxy_methods__GlobFilenameFilter_in_acdk_lang_String_arg_pattern,
  0
};

::acdk::lang::dmi::ClazzMethodInfo GlobFilenameFilter_DmiProxy_methods__GlobFilenameFilter_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "GlobFilenameFilter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  GlobFilenameFilter::clazzInfo(), // returnType
  "_0_GlobFilenameFilter_DmiProxy", // altname
  -1, // altnamehashCode
  GlobFilenameFilter_methods__GlobFilenameFilter_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  GlobFilenameFilter_DmiProxy::_GlobFilenameFilter_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* GlobFilenameFilter_methods[] = 
{
  &GlobFilenameFilter_DmiProxy_methods__GlobFilenameFilter_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* GlobFilenameFilter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "GlobFilenameFilter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _GlobFilenameFilter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     GlobFilenameFilter_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_GlobFilenameFilter_DmiProxy(GlobFilenameFilter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class InputReader_DmiProxy
: extends InputReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(InputReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  InputReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, InputReader)::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); }
  InputReader_DmiProxy(IN(::acdk::io::RReader) in)
  : InputReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  InputReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::locale::RDecoder) decoder)
  : InputReader(in, decoder)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  InputReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::locale::RDecoder) decoder, IN(::acdk::lang::RObject) lock)
  : InputReader(in, decoder, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  InputReader_DmiProxy(IN(::acdk::io::RCharReader) in)
  : InputReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RString readAString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readAString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readAString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool readBoolean()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readBoolean();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  double readDouble()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readDouble();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readInt();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readLine()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readLine();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLine", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  jlong readLong()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readLong();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int skipBytes(int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::skipBytes(len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("skipBytes", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InputReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__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::io::, InputReader)::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::io::, InputReader)::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::io::, InputReader)::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::io::, InputReader)::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::io::, InputReader)::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::io::, InputReader)::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::io::, InputReader)::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*
  _InputReader_in_acdk_io_Reader_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 InputReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_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 InputReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_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 InputReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _InputReader_in_acdk_io_CharReader_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 InputReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _InputReader_DmiProxy_interfaces[] =
{
  &InputReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* InputReader_methods__InputReader_in_acdk_io_Reader_args[] = 
{
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "InputReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InputReader::clazzInfo(), // returnType
  "_2_InputReader_DmiProxy", // altname
  -1, // altnamehashCode
  InputReader_methods__InputReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  InputReader_DmiProxy::_InputReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_decoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "decoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* InputReader_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_args[] = 
{
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_in,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_decoder,
  0
};

::acdk::lang::dmi::ClazzMethodInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "InputReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InputReader::clazzInfo(), // returnType
  "_3_InputReader_DmiProxy", // altname
  -1, // altnamehashCode
  InputReader_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_args,
  0, // argumentCount
  0, // excpetions,
  InputReader_DmiProxy::_InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_decoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "decoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* InputReader_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_args[] = 
{
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_in,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_decoder,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "InputReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InputReader::clazzInfo(), // returnType
  "_1_InputReader_DmiProxy", // altname
  -1, // altnamehashCode
  InputReader_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  InputReader_DmiProxy::_InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_CharReader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* InputReader_methods__InputReader_in_acdk_io_CharReader_args[] = 
{
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_CharReader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo InputReader_DmiProxy_methods__InputReader_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "InputReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InputReader::clazzInfo(), // returnType
  "_4_InputReader_DmiProxy", // altname
  -1, // altnamehashCode
  InputReader_methods__InputReader_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  InputReader_DmiProxy::_InputReader_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* InputReader_methods[] = 
{
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object,
  &InputReader_DmiProxy_methods__InputReader_in_acdk_io_CharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* InputReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "InputReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _InputReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     InputReader_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_InputReader_DmiProxy(InputReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class IOException_DmiProxy
: extends IOException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(IOException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  IOException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, IOException)::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); }
  IOException_DmiProxy(bool withErrno)
  : IOException(withErrno)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  IOException_DmiProxy()
  : IOException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  IOException_DmiProxy(IN(::acdk::lang::RString) what, bool withErrno)
  : IOException(what, withErrno)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  IOException_DmiProxy(IN(::acdk::lang::RString) what)
  : IOException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, IOException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, IOException)::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::io::, IOException)::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::io::, IOException)::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::io::, IOException)::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::io::, IOException)::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::io::, IOException)::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::io::, IOException)::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*
  _IOException_Z_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 IOException_DmiProxy(args[0].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _IOException_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 IOException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _IOException_in_acdk_lang_String_Z_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 IOException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _IOException_in_acdk_lang_String_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 IOException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _IOException_DmiProxy_interfaces[] =
{
  &IOException_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo IOException_DmiProxy_methods__IOException_Z_arg_withErrno =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "withErrno",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* IOException_methods__IOException_Z_args[] = 
{
  &IOException_DmiProxy_methods__IOException_Z_arg_withErrno,
  0
};

::acdk::lang::dmi::ClazzMethodInfo IOException_DmiProxy_methods__IOException_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "IOException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  IOException::clazzInfo(), // returnType
  "_0_IOException_DmiProxy", // altname
  -1, // altnamehashCode
  IOException_methods__IOException_Z_args,
  0, // argumentCount
  0, // excpetions,
  IOException_DmiProxy::_IOException_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo IOException_DmiProxy_methods__IOException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "IOException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  IOException::clazzInfo(), // returnType
  "_1_IOException_DmiProxy", // altname
  -1, // altnamehashCode
  IOException_methods__IOException_args,
  0, // argumentCount
  0, // excpetions,
  IOException_DmiProxy::_IOException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo IOException_DmiProxy_methods__IOException_in_acdk_lang_String_Z_arg_withErrno =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "withErrno",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getBoolClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* IOException_methods__IOException_in_acdk_lang_String_Z_args[] = 
{
  &IOException_DmiProxy_methods__IOException_in_acdk_lang_String_Z_arg_what,
  &IOException_DmiProxy_methods__IOException_in_acdk_lang_String_Z_arg_withErrno,
  0
};

::acdk::lang::dmi::ClazzMethodInfo IOException_DmiProxy_methods__IOException_in_acdk_lang_String_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "IOException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  IOException::clazzInfo(), // returnType
  "_2_IOException_DmiProxy", // altname
  -1, // altnamehashCode
  IOException_methods__IOException_in_acdk_lang_String_Z_args,
  0, // argumentCount
  0, // excpetions,
  IOException_DmiProxy::_IOException_in_acdk_lang_String_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* IOException_methods__IOException_in_acdk_lang_String_args[] = 
{
  &IOException_DmiProxy_methods__IOException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo IOException_DmiProxy_methods__IOException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "IOException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  IOException::clazzInfo(), // returnType
  "_3_IOException_DmiProxy", // altname
  -1, // altnamehashCode
  IOException_methods__IOException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  IOException_DmiProxy::_IOException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* IOException_methods[] = 
{
  &IOException_DmiProxy_methods__IOException_Z,
  &IOException_DmiProxy_methods__IOException,
  &IOException_DmiProxy_methods__IOException_in_acdk_lang_String_Z,
  &IOException_DmiProxy_methods__IOException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* IOException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "IOException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _IOException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     IOException_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_IOException_DmiProxy(IOException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class JoinedReader_DmiProxy
: extends JoinedReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(JoinedReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  JoinedReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, JoinedReader)::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); }
  JoinedReader_DmiProxy(IN(::acdk::io::RReader) firstIn, IN(::acdk::lang::RObject) lock)
  : JoinedReader(firstIn, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  JoinedReader_DmiProxy(IN(::acdk::io::RReader) firstIn)
  : JoinedReader(firstIn)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, JoinedReader)::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::io::, JoinedReader)::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::io::, JoinedReader)::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::io::, JoinedReader)::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::io::, JoinedReader)::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::io::, JoinedReader)::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::io::, JoinedReader)::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;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, JoinedReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _JoinedReader_in_acdk_io_Reader_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 JoinedReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _JoinedReader_in_acdk_io_Reader_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 JoinedReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _JoinedReader_DmiProxy_interfaces[] =
{
  &JoinedReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_firstIn =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "firstIn",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* JoinedReader_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_args[] = 
{
  &JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_firstIn,
  &JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "JoinedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  JoinedReader::clazzInfo(), // returnType
  "_0_JoinedReader_DmiProxy", // altname
  -1, // altnamehashCode
  JoinedReader_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  JoinedReader_DmiProxy::_JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_arg_firstIn =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "firstIn",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* JoinedReader_methods__JoinedReader_in_acdk_io_Reader_args[] = 
{
  &JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_arg_firstIn,
  0
};

::acdk::lang::dmi::ClazzMethodInfo JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "JoinedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  JoinedReader::clazzInfo(), // returnType
  "_1_JoinedReader_DmiProxy", // altname
  -1, // altnamehashCode
  JoinedReader_methods__JoinedReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  JoinedReader_DmiProxy::_JoinedReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* JoinedReader_methods[] = 
{
  &JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader_in_acdk_lang_Object,
  &JoinedReader_DmiProxy_methods__JoinedReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* JoinedReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "JoinedReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _JoinedReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     JoinedReader_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_JoinedReader_DmiProxy(JoinedReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class LineNumberCharReader_DmiProxy
: extends ::acdk::lang::Object
, implements LineNumberCharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(LineNumberCharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  LineNumberCharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, LineNumberCharReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new LineNumberCharReader_DmiProxy(); }
  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); }
  LineNumberCharReader_DmiProxy()
  : LineNumberCharReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int getCharPos()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCharPos", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int getColumnNumber()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getColumnNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int getLineNumber()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readLine()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLine", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void setCharPos(int ch)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("setCharPos", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setColumnNumber(int cn)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cn);
    _dmiProxyGetTarget()->standardDispatch("setColumnNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLineNumber(int ln)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ln);
    _dmiProxyGetTarget()->standardDispatch("setLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberCharReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __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*
  _LineNumberCharReader_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 LineNumberCharReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _LineNumberCharReader_DmiProxy_interfaces[] =
{
  &LineNumberCharReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo LineNumberCharReader_DmiProxy_methods__LineNumberCharReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "LineNumberCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  LineNumberCharReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  LineNumberCharReader_methods__LineNumberCharReader_args,
  0, // argumentCount
  0, // excpetions,
  LineNumberCharReader_DmiProxy::_LineNumberCharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* LineNumberCharReader_methods[] = 
{
  &LineNumberCharReader_DmiProxy_methods__LineNumberCharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* LineNumberCharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "LineNumberCharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _LineNumberCharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     LineNumberCharReader_methods, // pointer to Array of Methods
     0, // count of Methods
     LineNumberCharReader_DmiProxy::create_instance, // 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_LineNumberCharReader_DmiProxy(LineNumberCharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class LineNumberCharReaderImpl_DmiProxy
: extends LineNumberCharReaderImpl
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(LineNumberCharReaderImpl)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  LineNumberCharReaderImpl::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, LineNumberCharReaderImpl)::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); }
  LineNumberCharReaderImpl_DmiProxy(IN(::acdk::io::RCharReader) in, IN(::acdk::lang::RObject) iolock)
  : LineNumberCharReaderImpl(in, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  LineNumberCharReaderImpl_DmiProxy(IN(::acdk::io::RCharReader) in)
  : LineNumberCharReaderImpl(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberCharReaderImpl)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberCharReaderImpl)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberCharReaderImpl)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberCharReaderImpl)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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::io::, LineNumberCharReaderImpl)::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;
  }
  int getCharPos()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCharPos", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int getColumnNumber()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getColumnNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int getLineNumber()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readLine()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLine", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void setCharPos(int ch)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("setCharPos", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setColumnNumber(int cn)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cn);
    _dmiProxyGetTarget()->standardDispatch("setColumnNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLineNumber(int ln)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ln);
    _dmiProxyGetTarget()->standardDispatch("setLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _LineNumberCharReaderImpl_in_acdk_io_CharReader_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 LineNumberCharReaderImpl_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _LineNumberCharReaderImpl_in_acdk_io_CharReader_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 LineNumberCharReaderImpl_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _LineNumberCharReaderImpl_DmiProxy_interfaces[] =
{
  &LineNumberCharReaderImpl_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* LineNumberCharReaderImpl_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_args[] = 
{
  &LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_arg_in,
  &LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "LineNumberCharReaderImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  LineNumberCharReaderImpl::clazzInfo(), // returnType
  "_0_LineNumberCharReaderImpl_DmiProxy", // altname
  -1, // altnamehashCode
  LineNumberCharReaderImpl_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  LineNumberCharReaderImpl_DmiProxy::_LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* LineNumberCharReaderImpl_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_args[] = 
{
  &LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "LineNumberCharReaderImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  LineNumberCharReaderImpl::clazzInfo(), // returnType
  "_1_LineNumberCharReaderImpl_DmiProxy", // altname
  -1, // altnamehashCode
  LineNumberCharReaderImpl_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  LineNumberCharReaderImpl_DmiProxy::_LineNumberCharReaderImpl_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* LineNumberCharReaderImpl_methods[] = 
{
  &LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader_in_acdk_lang_Object,
  &LineNumberCharReaderImpl_DmiProxy_methods__LineNumberCharReaderImpl_in_acdk_io_CharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* LineNumberCharReaderImpl_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "LineNumberCharReaderImpl_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _LineNumberCharReaderImpl_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     LineNumberCharReaderImpl_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_LineNumberCharReaderImpl_DmiProxy(LineNumberCharReaderImpl_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class LineNumberReader_DmiProxy
: extends LineNumberReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(LineNumberReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  LineNumberReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, LineNumberReader)::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); }
  LineNumberReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::lang::RObject) lock)
  : LineNumberReader(in, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  LineNumberReader_DmiProxy(IN(::acdk::io::RReader) in)
  : LineNumberReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int getLineNumber()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getLineNumber();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void mark(int readlimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::mark(readlimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readlimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLineNumber(int ln)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::setLineNumber(ln);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ln);
    _dmiProxyGetTarget()->standardDispatch("setLineNumber", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[15]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[17]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[18]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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::io::, LineNumberReader)::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;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, LineNumberReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _LineNumberReader_in_acdk_io_Reader_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 LineNumberReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _LineNumberReader_in_acdk_io_Reader_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 LineNumberReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _LineNumberReader_DmiProxy_interfaces[] =
{
  &LineNumberReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* LineNumberReader_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_args[] = 
{
  &LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_in,
  &LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "LineNumberReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  LineNumberReader::clazzInfo(), // returnType
  "_0_LineNumberReader_DmiProxy", // altname
  -1, // altnamehashCode
  LineNumberReader_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  LineNumberReader_DmiProxy::_LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* LineNumberReader_methods__LineNumberReader_in_acdk_io_Reader_args[] = 
{
  &LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "LineNumberReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  LineNumberReader::clazzInfo(), // returnType
  "_1_LineNumberReader_DmiProxy", // altname
  -1, // altnamehashCode
  LineNumberReader_methods__LineNumberReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  LineNumberReader_DmiProxy::_LineNumberReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* LineNumberReader_methods[] = 
{
  &LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader_in_acdk_lang_Object,
  &LineNumberReader_DmiProxy_methods__LineNumberReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* LineNumberReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "LineNumberReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _LineNumberReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     LineNumberReader_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_LineNumberReader_DmiProxy(LineNumberReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class MemReader_DmiProxy
: extends MemReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(MemReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  MemReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, MemReader)::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); }
  MemReader_DmiProxy(IN(::acdk::io::RMemWriter) memwriter, int offset, int endpos)
  : MemReader(memwriter, offset, endpos)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemReader_DmiProxy(IN(::acdk::io::RMemWriter) memwriter)
  : MemReader(memwriter)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemReader_DmiProxy(IN(::acdk::io::RMemWriter) memwriter, int offset)
  : MemReader(memwriter, offset)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemReader_DmiProxy(IN(RbyteArray) bytearray, int offset, int endpos)
  : MemReader(bytearray, offset, endpos)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemReader_DmiProxy(IN(RbyteArray) bytearray)
  : MemReader(bytearray)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemReader_DmiProxy(IN(RbyteArray) bytearray, int offset)
  : MemReader(bytearray, offset)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, MemReader)::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::io::, MemReader)::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::io::, MemReader)::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::io::, MemReader)::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::io::, MemReader)::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::io::, MemReader)::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::io::, MemReader)::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;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_acdk_io_MemWriter_I_I_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 MemReader_DmiProxy((::acdk::io::RMemWriter)args[0].getObjectVar(), args[1].getIntVar(), args[2].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_acdk_io_MemWriter_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 MemReader_DmiProxy((::acdk::io::RMemWriter)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_acdk_io_MemWriter_I_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 MemReader_DmiProxy((::acdk::io::RMemWriter)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_BArray_I_I_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 MemReader_DmiProxy((RbyteArray)args[0].getObjectVar(), args[1].getIntVar(), args[2].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_BArray_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 MemReader_DmiProxy((RbyteArray)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemReader_in_BArray_I_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 MemReader_DmiProxy((RbyteArray)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _MemReader_DmiProxy_interfaces[] =
{
  &MemReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_memwriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "memwriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::MemWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_endpos =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "endpos",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_acdk_io_MemWriter_I_I_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_memwriter,
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_offset,
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I_arg_endpos,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_0_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_acdk_io_MemWriter_I_I_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_acdk_io_MemWriter_I_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_arg_memwriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "memwriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::MemWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_acdk_io_MemWriter_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_arg_memwriter,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_1_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_acdk_io_MemWriter_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_acdk_io_MemWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_arg_memwriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "memwriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::MemWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_acdk_io_MemWriter_I_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_arg_memwriter,
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_arg_offset,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_2_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_acdk_io_MemWriter_I_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_acdk_io_MemWriter_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_BArray_I_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_BArray_I_I_arg_endpos =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "endpos",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_BArray_I_I_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_I_arg_bytearray,
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_I_arg_offset,
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_I_arg_endpos,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_BArray_I_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_3_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_BArray_I_I_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_BArray_I_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_BArray_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_BArray_arg_bytearray,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_BArray = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_4_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_BArray_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_BArray_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo MemReader_DmiProxy_methods__MemReader_in_BArray_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemReader_methods__MemReader_in_BArray_I_args[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_arg_bytearray,
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_arg_offset,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemReader_DmiProxy_methods__MemReader_in_BArray_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "MemReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemReader::clazzInfo(), // returnType
  "_5_MemReader_DmiProxy", // altname
  -1, // altnamehashCode
  MemReader_methods__MemReader_in_BArray_I_args,
  0, // argumentCount
  0, // excpetions,
  MemReader_DmiProxy::_MemReader_in_BArray_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* MemReader_methods[] = 
{
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I_I,
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter,
  &MemReader_DmiProxy_methods__MemReader_in_acdk_io_MemWriter_I,
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I_I,
  &MemReader_DmiProxy_methods__MemReader_in_BArray,
  &MemReader_DmiProxy_methods__MemReader_in_BArray_I,
  0
};

::acdk::lang::dmi::ClazzInfo* MemReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "MemReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _MemReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     MemReader_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_MemReader_DmiProxy(MemReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class MemWriter_DmiProxy
: extends MemWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(MemWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  MemWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, MemWriter)::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); }
  MemWriter_DmiProxy(int initsize)
  : MemWriter(initsize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemWriter_DmiProxy()
  : MemWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  MemWriter_DmiProxy(IN(RbyteArray) buffer)
  : MemWriter(buffer)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RbyteArray getBuffer()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::getBuffer();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getBuffer", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, MemWriter)::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::io::, MemWriter)::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::io::, MemWriter)::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::io::, MemWriter)::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::io::, MemWriter)::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::io::, MemWriter)::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::io::, MemWriter)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, MemWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemWriter_I_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 MemWriter_DmiProxy(args[0].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemWriter_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 MemWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _MemWriter_in_BArray_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 MemWriter_DmiProxy((RbyteArray)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _MemWriter_DmiProxy_interfaces[] =
{
  &MemWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo MemWriter_DmiProxy_methods__MemWriter_I_arg_initsize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "initsize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* MemWriter_methods__MemWriter_I_args[] = 
{
  &MemWriter_DmiProxy_methods__MemWriter_I_arg_initsize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemWriter_DmiProxy_methods__MemWriter_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "MemWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemWriter::clazzInfo(), // returnType
  "_0_MemWriter_DmiProxy", // altname
  -1, // altnamehashCode
  MemWriter_methods__MemWriter_I_args,
  0, // argumentCount
  0, // excpetions,
  MemWriter_DmiProxy::_MemWriter_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo MemWriter_DmiProxy_methods__MemWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "MemWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemWriter::clazzInfo(), // returnType
  "_1_MemWriter_DmiProxy", // altname
  -1, // altnamehashCode
  MemWriter_methods__MemWriter_args,
  0, // argumentCount
  0, // excpetions,
  MemWriter_DmiProxy::_MemWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* MemWriter_methods__MemWriter_in_BArray_args[] = 
{
  &MemWriter_DmiProxy_methods__MemWriter_in_BArray_arg_buffer,
  0
};

::acdk::lang::dmi::ClazzMethodInfo MemWriter_DmiProxy_methods__MemWriter_in_BArray = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "MemWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  MemWriter::clazzInfo(), // returnType
  "_2_MemWriter_DmiProxy", // altname
  -1, // altnamehashCode
  MemWriter_methods__MemWriter_in_BArray_args,
  0, // argumentCount
  0, // excpetions,
  MemWriter_DmiProxy::_MemWriter_in_BArray_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* MemWriter_methods[] = 
{
  &MemWriter_DmiProxy_methods__MemWriter_I,
  &MemWriter_DmiProxy_methods__MemWriter,
  &MemWriter_DmiProxy_methods__MemWriter_in_BArray,
  0
};

::acdk::lang::dmi::ClazzInfo* MemWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "MemWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _MemWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     MemWriter_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_MemWriter_DmiProxy(MemWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class NullWriter_DmiProxy
: extends NullWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(NullWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  NullWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, NullWriter)::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); }
  NullWriter_DmiProxy()
  : NullWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::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::io::, NullWriter)::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::io::, NullWriter)::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::io::, NullWriter)::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::io::, NullWriter)::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::io::, NullWriter)::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::io::, NullWriter)::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::io::, NullWriter)::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;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NullWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _NullWriter_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 NullWriter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _NullWriter_DmiProxy_interfaces[] =
{
  &NullWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo NullWriter_DmiProxy_methods__NullWriter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "NullWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  NullWriter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  NullWriter_methods__NullWriter_args,
  0, // argumentCount
  0, // excpetions,
  NullWriter_DmiProxy::_NullWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* NullWriter_methods[] = 
{
  &NullWriter_DmiProxy_methods__NullWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* NullWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "NullWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _NullWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     NullWriter_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_NullWriter_DmiProxy(NullWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ObjectReader_DmiProxy
: extends ::acdk::lang::Object
, implements ObjectReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ObjectReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ObjectReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ObjectReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new ObjectReader_DmiProxy(); }
  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); }
  ObjectReader_DmiProxy()
  : ObjectReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void defaultReadObject(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("defaultReadObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass readClassDescriptor(IN(::acdk::lang::RClass) cls)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("readClassDescriptor", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject readObject()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject readObject(IN(::acdk::lang::RClass) cls)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("readObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  bool readBoolean()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  char readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  double readDouble()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  float readFloat()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong readLong()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::readOpaque();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  short readShort()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ucchar readUcChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ObjectReader_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 ObjectReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ObjectReader_DmiProxy_interfaces[] =
{
  &ObjectReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo ObjectReader_DmiProxy_methods__ObjectReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ObjectReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ObjectReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  ObjectReader_methods__ObjectReader_args,
  0, // argumentCount
  0, // excpetions,
  ObjectReader_DmiProxy::_ObjectReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ObjectReader_methods[] = 
{
  &ObjectReader_DmiProxy_methods__ObjectReader,
  0
};

::acdk::lang::dmi::ClazzInfo* ObjectReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ObjectReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ObjectReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ObjectReader_methods, // pointer to Array of Methods
     0, // count of Methods
     ObjectReader_DmiProxy::create_instance, // 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_ObjectReader_DmiProxy(ObjectReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io