2005/5/9

     
 

class ObjectBase

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::lang::ObjectBase Class Reference

#include <ObjectBase.h>

Inheritance diagram for acdk::lang::ObjectBase:

acdk::lang::Object acdk::boot::HelloWorldClass acdk::cfgscript::acdkcfgscript::Main acdk::cfgscript::ConsoleDebugger acdk::cfgscript::DebugBreakPoints acdk::cfgscript::DebugPoint acdk::cfgscript::ExecutionStack acdk::cfgscript::ExecutionStackFrame acdk::cfgscript::Props acdk::cfgscript::Script acdk::cfgscript::ScriptGlobals acdk::cfgscript::ScriptObject acdk::cfgscript::ScriptSource acdk::cfgscript::ShellExecutor acdk::cfgscript::SourceTokenizer acdk::cfgscript::TokenizedSource acdk::io::AbstractCharReader acdk::io::AbstractCharWriter acdk::io::AbstractFileImpl acdk::io::AbstractReader acdk::io::AbstractWriter acdk::io::ByteBufferStorage acdk::io::CharArrayReader acdk::io::ConfigFileSystemFactory acdk::io::File acdk::io::FileAbstractImpl acdk::io::FileDescriptor acdk::io::FileInfo acdk::io::FileStatus acdk::io::GlobFilenameFilter acdk::io::LittleBytesReader acdk::io::LittleBytesWriter acdk::io::RandomAccessFile acdk::io::RessourceFile acdk::io::RessourceFileImpl acdk::io::RessourceFileSystem acdk::io::RessourceFileSystemFactory acdk::io::SerializedFieldDescriptor acdk::io::SerializedObjectDescriptor acdk::io::StandardFileSystem acdk::io::StreamTokenizer acdk::io::StringWriter acdk::java::JavaInterpreter acdk::java::rmi::Naming acdk::java::serialization::ClassDescription acdk::java::serialization::FieldDescription acdk::java::serialization::JavaObjectReadWriteCache acdk::lang::ArrayReadByteBuffer acdk::lang::Boolean acdk::lang::Buffers acdk::lang::Character acdk::lang::Class acdk::lang::ClassLoader acdk::lang::CmdLineOption acdk::lang::CmdLineParser acdk::lang::CoreByteBuffer acdk::lang::dmi::DmiNamedArg acdk::lang::dmi::DmiObject acdk::lang::dmi::DmiProxy acdk::lang::dmi::MetaAttribute acdk::lang::dmi::MetaObjectImpl acdk::lang::dmi::ScriptVarMetaAttribute acdk::lang::dmi::StdDmiDelegate acdk::lang::NativeStackFrame acdk::lang::Number acdk::lang::ObjectArrayBaseImpl acdk::lang::Package acdk::lang::Process acdk::lang::ref::AbstractHeapListener acdk::lang::ref::Reference acdk::lang::ref::ReferenceQueue acdk::lang::ref::SharedOwning acdk::lang::reflect::AccessibleObject acdk::lang::reflect::EnumerationValue acdk::lang::Runtime acdk::lang::SharedLibrary acdk::lang::SlicedReadByteBuffer acdk::lang::SlicedReadWriteByteBuffer acdk::lang::String acdk::lang::StringBuffer acdk::lang::StringReadByteBuffer acdk::lang::sys::LocalGcHeap acdk::lang::System acdk::lang::SystemImpl acdk::lang::Thread acdk::lang::ThreadGroup acdk::lang::ThreadLocal acdk::lang::Throwable acdk::lang::UnicodeCharacter acdk::lang::Void acdk::lisp::LispBinaryCode acdk::lisp::LispCallBack acdk::lisp::LispCode acdk::lisp::LispEnvironment acdk::lisp::LispInterpreter acdk::lisp::LispSlot acdk::lisp::LispStackFrame acdk::lisp::LispTemplateFilter acdk::lisp::LispVar acdk::lisp::Stack< T > acdk::locale::Decoder acdk::locale::Encoder acdk::locale::Encoding acdk::make::AbstractTask acdk::make::FileSet acdk::make::SimpleFileDepencyChecker acdk::make::TaskInfo acdk::make::TaskManager acdk::net::Authenticator acdk::net::DatagramPacket acdk::net::DatagramSocket acdk::net::ftp::FTPClient acdk::net::ftp::FTPFileImpl acdk::net::ftp::FTPFileSystem acdk::net::ftp::FTPFileSystemFactory acdk::net::ftp::FTPUrlStreamHandlerFactory acdk::net::HeaderFieldHelper acdk::net::InetAddress acdk::net::MimeTypeMapper acdk::net::PasswordAuthentication acdk::net::ServerSocket acdk::net::Socket acdk::net::SocketAddress acdk::net::SocketImpl acdk::net::srfsys::FileInfo acdk::net::srfsys::FilterObjectReader acdk::net::srfsys::FilterObjectWriter acdk::net::srfsys::Message acdk::net::srfsys::SRFileImpl acdk::net::srfsys::SRFileSystemClient acdk::net::srfsys::TransListenerImpl acdk::net::srsync::SyncFileOperation acdk::net::srsync::SynFileComparator acdk::net::TCPSocketFactory acdk::net::URL acdk::net::URLConnection acdk::net::UrlFileImpl acdk::net::UrlFileSystem acdk::net::UrlFileSystemFactory acdk::net::URLStreamHandler acdk::perl::APerlInterpreter acdk::python::PythonInterpreter acdk::python::PythonProxy acdk::security::MessageDigestSpi acdk::sql::DriverPropertyInfo acdk::sql::odbc::ODBCArray acdk::sql::odbc::ODBCColumn acdk::sql::odbc::ODBCConnection acdk::sql::odbc::ODBCDatabaseMetaData acdk::sql::odbc::ODBCDriver acdk::sql::odbc::ODBCHandle acdk::sql::odbc::ODBCParam acdk::sql::odbc::ODBCResultSet acdk::sql::odbc::ODBCResultSetMetaData acdk::sql::odbc::ODBCStatement acdk::sql::odbc::ODBCStatusRecord acdk::sql::ResultSetIterator acdk::sql::sqlite::LiteConnection acdk::sql::sqlite::LiteDatabaseMetaData acdk::sql::sqlite::LiteDb acdk::sql::sqlite::LiteDriver acdk::sql::sqlite::LiteMemTable acdk::sql::sqlite::LiteMemTableIterator acdk::sql::sqlite::LiteResultSet acdk::sql::sqlite::LiteResultSetMetaData acdk::sql::sqlite::LiteStatement acdk::sql::sqlite::LiteTable acdk::sql::StandardMemBlob acdk::tcl::TclInterpreter acdk::text::AbstractFormatedOutput acdk::text::Base64 acdk::text::DateFormatSymbols acdk::text::DecimalFormatSymbols acdk::text::DecimalSubpatternProperties acdk::text::FieldPosition acdk::text::Format acdk::text::ParsePosition acdk::text::PropertyVarTemplateFilter acdk::text::RegExp acdk::text::RegExpMatchPosition acdk::text::Template acdk::text::TemplateFilterInformation acdk::tools::acdkmc::MetaInfoGenProxy acdk::tools::aunit::DmiTestClass acdk::tools::aunit::guitestrunner::BufferedCharWriter acdk::tools::aunit::guitestrunner::GuiTestListener acdk::tools::aunit::McConfigTest acdk::tools::aunit::SayHelloInterfaceImpl acdk::tools::aunit::TestCase acdk::tools::aunit::TestCollectorListener acdk::tools::aunit::TestConsoleListener acdk::tools::aunit::TestDebuggerListener acdk::tools::aunit::TestExpression acdk::tools::aunit::TestFailure acdk::tools::aunit::TestHtmlReport acdk::tools::aunit::TestResult acdk::tools::aunit::TestResultEntry acdk::tools::aunit::TestRunner acdk::tools::aunit::TestTextReport acdk::tools::mc::CodeAttribute acdk::tools::mc::CodeInsertion acdk::tools::mc::DispatchForwardAttributeTest acdk::tools::mc::DmiProxyGeneratorExt acdk::tools::mc::MetaCompiler acdk::tools::mc::TokenStack acdk::tools::mc::TokenStackElement acdk::tools::mc::TypeScope acdk::tools::odbctests::DBConnect acdk::tools::odbctests::ODBCTests acdk::util::AbstractCollection acdk::util::AbstractListIterator acdk::util::AbstractListListIterator acdk::util::AbstractListSubListListIterator acdk::util::AbstractMap acdk::util::AbstractMapCachedKeySetIterator acdk::util::AbstractMapCachedValuesCollectionIterator acdk::util::ArrayIterator acdk::util::ArraysImpl acdk::util::BasicMapEntry acdk::util::BitSet acdk::util::Bucket acdk::util::Calendar acdk::util::Collections acdk::util::Date acdk::util::Dictionary acdk::util::DoubleIterator acdk::util::EmptyCollectionIterator acdk::util::EventListenerProxy acdk::util::EventObject acdk::util::HashMapIterator acdk::util::HashMapNilEntry acdk::util::IteratorEnumeration acdk::util::LinkedListEntry acdk::util::LinkedListIterator acdk::util::Locale acdk::util::logging::AbstractLogConsumer acdk::util::logging::Level acdk::util::logging::Logger acdk::util::logging::LogManager acdk::util::logging::LogRecord acdk::util::logging::NamedParameter acdk::util::logging::SimpleFormatter acdk::util::logging::StdFormatter acdk::util::logging::Win32DbgFormatter acdk::util::NilComparator< T > acdk::util::Random acdk::util::ResourceBundle acdk::util::SingleObjectIterator acdk::util::StringTokenizer acdk::util::SynchronizedCollection acdk::util::SynchronizedIterator acdk::util::SynchronizedMap acdk::util::SynchronizedMapEntry acdk::util::SysDate acdk::util::TAbstractCollection< T > acdk::util::TAbstractCollection< InterfaceHolder< TMapEntry< K, V > > > acdk::util::TAbstractCollection< K > acdk::util::TAbstractCollection< TMapEntry< K, V >::RefType > acdk::util::TAbstractCollection< V > acdk::util::TAbstractListIterator< T > acdk::util::TAbstractListListIterator< T > acdk::util::TAbstractListSubListListIterator< T > acdk::util::TAbstractMap< K, V > acdk::util::TAbstractMapCachedKeySetIterator< K, V > acdk::util::TAbstractMapCachedValuesCollectionIterator< K, V > acdk::util::TBasicMapEntry< K, V > acdk::util::TBucket< K, V > acdk::util::TDoubleIterator< T > acdk::util::THashMapEntriesIterator< K, V > acdk::util::THashMapKeyIterator< K, V > acdk::util::THashMapNilEntry acdk::util::THashMapValueIterator< K, V > acdk::util::TimeZone acdk::util::TreeMapIterator acdk::util::TreeMapSetIterator acdk::util::TTreeMapIteratorBase< K, V > acdk::util::TTreeMapSetIteratorBase< K, V > acdk::util::WeakHashMapEntrySetEntry acdk::util::WeakHashMapEntrySetIterator acdk::vfile::tar::TarFileHeader acdk::vfile::tar::TarFileImpl acdk::vfile::tar::TarFileSystem acdk::vfile::tar::TarFileSystemFactory acdk::vfile::zip::CentralDirectory acdk::vfile::zip::CentralDirectoryEntry acdk::vfile::zip::LocalFileHeader acdk::vfile::zip::ZipFileImpl acdk::vfile::zip::ZipFileReader acdk::vfile::zip::ZipFileSystem acdk::vfile::zip::ZipFileSystemFactory acdk::wx::ide::DimInfo acdk::wx::TextAttr acdk::wx::TextCtrlCharWriter acdk::wx::WxNonCopyStruct< T > acdk::wx::WxNonCopyStruct< wxCaret > acdk::wx::WxObject acdk::wx::WxValStruct< T > acdk::xml::dom::DOMParser acdk::xml::dom::NodeArrayList acdk::xml::dom::NodeIteratorWalker acdk::xml::dom::NodeUtil acdk::xml::dom::XMLNamedNodeMap acdk::xml::dom::XMLNode acdk::xml::dom::XMLNodeList acdk::xml::libxmldom::LibXMLNamedNodeMap acdk::xml::libxmldom::LibXMLNode acdk::xml::libxmldom::LibXMLNodeList acdk::xml::libxmldom::LibXMLPathNodeList acdk::xml::libxmldom::LibXMLXPathExpression acdk::xml::libxmldom::LibXMLXPathNSResolver acdk::xml::libxmldom::LibXMLXPathResult acdk::xml::parsers::DocumentBuilder acdk::xml::parsers::DocumentBuilderFactory acdk::xml::RemoteInterface acdk::xml::sax::AttributeListImpl acdk::xml::sax::XmlLibLocator acdk::xml::sax::XMLParser acdk::xml::sax::XMLReader acdk::xml::TestClass acdk::xml::XMLTokenizer acdkx::arb::AObjectImpl acdkx::arb::ARB acdkx::arb::Connection acdkx::arb::ObjectID acdkx::arb::XMLDelegate acdkx::com::AbstractCoInterface acdkx::com::ActiveScript acdkx::com::Co acdkx::com::ComObject acdkx::com::CreateTypeInfo acdkx::com::CreateTypeLib acdkx::com::IUnknown acdkx::net::ssl::HTTPSUrlStreamHandlerFactory acdkx::orb::GIOPMessage acdkx::orb::ObjectKey acdkx::orb::OrbConnection acdkx::orb::OrbConnectionMgr acdkx::rdmi::BinaryProtocol acdkx::rdmi::ConnectionRefs acdkx::rdmi::LocalObjectRepository acdkx::rdmi::RemoteArg acdkx::rdmi::RemoteDmiProxy acdkx::rdmi::RemoteObjectId acdkx::rdmi::RemoteObjectReferences acdkx::rdmi::TcpServer acdkx::rdmi::TcpServerConnection BasicArray< T > ExtObjectPtr< T > ExtObjectVal< T > JavaSerSample org::omg::CORBA::Any org::omg::CORBA::AttributeDescription org::omg::CORBA::Context org::omg::CORBA::Description org::omg::CORBA::ExceptionDescription org::omg::CORBA::FullInterfaceDescription org::omg::CORBA::InterfaceDescription org::omg::CORBA::ModuleDescription org::omg::CORBA::OperationDescription org::omg::CORBA::ParameterDescription org::omg::CORBA::portable::ObjectImpl org::omg::CORBA::ServerRequest org::omg::CORBA::StructMember org::omg::CORBA::TypeCode org::omg::CosNaming::Binding org::omg::CosNaming::NameComponent org::omg::PortableServer::ThreadPolicy org::w3c::dom::DOMWriterFormat org::w3c::dom::NodeListIterator org::w3c::dom::xpath::XPathResultNodeList org::xml::sax::helpers::CollectiveErrorHandler org::xml::sax::helpers::Context org::xml::sax::helpers::DefaultHandler org::xml::sax::helpers::LocatorImpl org::xml::sax::helpers::MiscXmlUtils org::xml::sax::helpers::NamespaceSupport org::xml::sax::helpers::StdErrorHandler org::xml::sax::InputSource tests::acdk::java::TestListener tests::acdk::lang::dmi::AClass tests::acdk::lang::dmi::AClass tests::acdk::lang::dmi::BClass tests::acdk::lang::dmi::Child tests::acdk::lang::dmi::MyElement tests::acdk::lang::dmi::MyOwner tests::acdk::lang::dmi::NotifyObjectEventTestClass tests::acdk::lang::dmi::ReferenceTestClass tests::acdk::lang::MyClass tests::acdk::lang::MyValType tests::acdk::lang::sys::MyTestObject tests::acdk::lang::sys::SelfAssignTest tests::acdk::lang::TestSignalEventHandler tests::acdk::net::TransListenerImpl tests::acdkx::orb::AdressInfo tests::TestACDKObject List of all members.

Detailed Description

ACDK specific implementation of Objects.

API: ACDK

Author:
Roger Rene Kommer
Version:
Revision
1.37
Date:
Date
2005/04/28 14:58:40


Public Types

typedef unsigned short RefFlagField
enum  RefFlags {
  IsStackRef = 0x0001, IsStaticRef = 0x0002, IsUserHeapRef = 0x0004, IsMemLocked = 0x0008,
  IsWeakRef = 0x0010, IsUnsynchronized = 0x0020, IsExternalRecorded = 0x0040, ObjectHasLocalGc = 0x0080,
  IsSoftReference = 0x0100, Visited = 0x1000, Marked = 0x2000, FinalizeCalled = 0x4000,
  NoRefCounting = 0x8000
}
 Some information about memory status. More...


Public Member Functions

virtual ~ObjectBase ()
void * operator new (size_t size)
 the standard operator new

void operator delete (void *ptr)
 standard operator delete

void * operator new[] (size_t size)
 array allocator forwards to ACDK memory manager

void operator delete[] (void *ptr)
 array deallocator forwards to ACDK memory manager

void * operator new (size_t size, void *mem)
 used for other allocators, will handled as stack var!

void * operator new[] (size_t size, void *mem)
 used for other allocators, will handled as stack var!

void operator delete (void *ptr, void *mem)
 used for other allocators, will handled as stack var!

void operator delete[] (void *ptr, void *mem)
 used for other allocators, will handled as stack var!

void * operator new (size_t size,::acdk::lang::sys::Allocator *allocator)
 operator new, which uses the placement operator.

void operator delete (void *mem,::acdk::lang::sys::Allocator *allocator)
 this operator delete will only be called, in the case of an Exception in the of Object or derived

inline::acdk::lang::sys::Allocator * allocator ()
 returns the Allocator of this Object.

void * allocate (size_t size, acdk::lang::sys::AllocatedType at=acdk::lang::sys::RawMem)
 If the object was allocated with an Allocator, this allocator can be used to allocate internal memory.

void deallocate (void *ptr, acdk::lang::sys::AllocatedType at=acdk::lang::sys::RawMem)
 If the object was allocated with an Allocator, this allocator can be used to deallocate internal memory.

void releaseRef (bool force=false) const
 release Reference.

bool _releaseRefCount () const
 decrement the Object refcounter and dispose this object

virtual bool _gc_releaseRef (bool force=false) const
 may be called by releaseRef() if ObjectHasLocalGc is set

void addRef (bool force=false) const
 increment reference counter

void disposeRef () const
 releases this object.

void testIntegrity () const
 test if object is still sane

unsigned short magic () const
 return the magic (_MagicObjectSig or _MagicDeletedSig) from this object instance

void _inititializeObjectAttrFlags (int flags)
 internal function to set flags before constructor

void _setObjectRefFlag (bool onoff, RefFlagField flag) const
 set or release internal flag

bool _isObjectRefFlag (RefFlagField theFlag) const
int refCount () const
 returns the current reference counter

void setStackRef () const
 set Object as Stack Object.

bool isStackRef () const
 returns true if Object is allocated on Stack

void setStackRef (bool asstackref) const
 declares this object as stack object.

bool isStaticRef () const
 returns true if object is declared as static referenced

void setStaticRef (bool asstaticref) const
 returns set or remove reference as static

bool isWeakRef () const
 returns true if object is declared as weak referenced

bool isMemLocked () const
 returns true if object reference is locked

void lockMem (bool lockit) const
 lock or unlock the object reference.

bool isMarked () const
 used internally for garbage collecting

void setMarked () const
 used internally for garbage collecting

void unsetMarked () const
 used internally for garbage collecting

bool isUnsynchronized () const
 returns true if object is declared as unsychronizable, which means lock/unlock will have no effect

void setUnsynchronized (bool unsynced) const
 returns set or unset unsychronizable, which means lock/unlock will have no effect

bool hasLocalGc () const
void setLocalGc (bool flag) const
bool isExternalRecorded () const
 returns true if object external listener, which should be notified at deletion

void setExternalRecorded (bool flag) const
 see isExternalRecorded()

bool isSoftReference () const
 return true if this object is held by a soft reference

void setSoftReference (bool flag) const
 see isSoftReference()

void aquireLock ()
 aquire MT-Lock from lock cache

virtual void lock ()
 lock the object instance.

virtual void unlock ()
 unlock the object instance Note: Will be overwritten by acdk::io::Reader and acdk::io::Writer Note: if Unsynchronized or isStack is set, this call will have no effect

virtual void finalize ()
 Only for Java compatibility.

void _call_finalize ()
 call finalize only if FinalizeCalled not set

virtual dmi::ClazzInfogetClazzInfo ()
 return the ClazzInfo for this class will be re-implemented for each class by methods generated by acdkmc

virtual Object_cast (const acdk::lang::dmi::ClazzInfo *ci)
 for DMI implemented classes with multiple interface allow casts.

virtual void getCollectableFields (FieldReferences &fields)
 retrun the collectable fields of this object (all Objects fields) will be re-implemented for each class by methods generated by acdkmc If this is manually implemented, the flag ObjectHasLocalGc should be set.


Static Public Member Functions

dmi::ClazzInfoclazzInfo ()
 return the ClazzInfo for this class will be re-implemented for each class by methods generated by acdkmc

void _throwException (const char *msg=)
void _throwBadCastException (const char *msg=)
void _throwNullPointerException (const char *msg=)
void _throwNotImplementedYet (const char *msg=)
void _throwArrayIndexOutOfBoundsException (size_t idx=0, size_t max=size_t(-1), const char *msg=)
void _throwIndexOutOfBoundsException (size_t idx=0, size_t max=size_t(-1), const char *msg=)
void _throwObjectInsane (const InterfaceBase *obj, int magicsic)

Static Public Attributes

bool singleThreaded
 global variable which is true if program is running in single thread mode


Protected Member Functions

 ObjectBase ()

Private Attributes

sys::core_atomicop _refCount
 The Refernce Conter.

RefFlagField _objectRefFlags
 a set of internal Flags.

unsigned short _magic
 magic Number of Object, for sanity check


Member Typedef Documentation

typedef unsigned short acdk::lang::ObjectBase::RefFlagField
 


Member Enumeration Documentation

enum acdk::lang::ObjectBase::RefFlags
 

Some information about memory status.

Enumeration values:
IsStackRef  the object is allocated on the stack
IsStaticRef  Reference is allocated as static variable.
IsUserHeapRef  Object is allocated on user Heap.
IsMemLocked  Similar to IsWeakRef, but can also be unlocked.
IsWeakRef  Object will not be deleted if _refCount == 0.
IsUnsynchronized  Object will not be synchronized.

This means lock() and unlock will have no effect

IsExternalRecorded  Object has external records.
ObjectHasLocalGc  in case of releaseRef call objects internal _gc_releaseRef() In case of running System::gc GC doesn't use metainfo to retrieve number of references, but call getCollectableFields()
IsSoftReference  Object is Soft-Reference.
Visited  Internal, used in GC.
Marked  Internal, used in GC.
FinalizeCalled  True if finalize is already called.
NoRefCounting  Allocator doesn't rely on RefCounting.


Constructor & Destructor Documentation

acdk::lang::ObjectBase::ObjectBase  )  [protected]
 

virtual acdk::lang::ObjectBase::~ObjectBase  )  [inline, virtual]
 


Member Function Documentation

void acdk::lang::ObjectBase::_call_finalize  )  [inline]
 

call finalize only if FinalizeCalled not set

virtual Object* acdk::lang::ObjectBase::_cast const acdk::lang::dmi::ClazzInfo ci  )  [virtual]
 

for DMI implemented classes with multiple interface allow casts.

The returned Object will be casted to the correct type using dynamic_cast

Parameters:
ci target type
Returns:
0 if cannot be casted

Reimplemented in acdk::lang::ObjectArrayBaseImpl, and acdk::wx::WxObject.

virtual bool acdk::lang::ObjectBase::_gc_releaseRef bool  force = false  )  const [inline, virtual]
 

may be called by releaseRef() if ObjectHasLocalGc is set

Returns:
true if call the object destroyed

Reimplemented in acdk::cfgscript::ScriptObject, and tests::acdk::lang::dmi::BClass.

void acdk::lang::ObjectBase::_inititializeObjectAttrFlags int  flags  )  [inline]
 

internal function to set flags before constructor

bool acdk::lang::ObjectBase::_isObjectRefFlag RefFlagField  theFlag  )  const [inline]
 

bool acdk::lang::ObjectBase::_releaseRefCount  )  const [inline]
 

decrement the Object refcounter and dispose this object

void acdk::lang::ObjectBase::_setObjectRefFlag bool  onoff,
RefFlagField  flag
const [inline]
 

set or release internal flag

void acdk::lang::ObjectBase::_throwArrayIndexOutOfBoundsException size_t  idx = 0,
size_t  max = size_t(-1),
const char *  msg =
[static]
 

void acdk::lang::ObjectBase::_throwBadCastException const char *  msg =  )  [static]
 

void acdk::lang::ObjectBase::_throwException const char *  msg =  )  [static]
 

void acdk::lang::ObjectBase::_throwIndexOutOfBoundsException size_t  idx = 0,
size_t  max = size_t(-1),
const char *  msg =
[static]
 

void acdk::lang::ObjectBase::_throwNotImplementedYet const char *  msg =  )  [static]
 

void acdk::lang::ObjectBase::_throwNullPointerException const char *  msg =  )  [static]
 

void acdk::lang::ObjectBase::_throwObjectInsane const InterfaceBase obj,
int  magicsic
[static]
 

void acdk::lang::ObjectBase::addRef bool  force = false  )  const [inline]
 

increment reference counter

void* acdk::lang::ObjectBase::allocate size_t  size,
acdk::lang::sys::AllocatedType  at = acdk::lang::sys::RawMem
[inline]
 

If the object was allocated with an Allocator, this allocator can be used to allocate internal memory.

inline ::acdk::lang::sys::Allocator* acdk::lang::ObjectBase::allocator  )  [inline]
 

returns the Allocator of this Object.

By default it returns the StandardHeapAllocator

Reimplemented in acdk::lang::sys::LocalGcHeap.

void acdk::lang::ObjectBase::aquireLock  ) 
 

aquire MT-Lock from lock cache

dmi::ClazzInfo* acdk::lang::ObjectBase::clazzInfo  )  [inline, static]
 

return the ClazzInfo for this class will be re-implemented for each class by methods generated by acdkmc

Reimplemented in BasicArray< T >, ObjectArrayImpl< T >, acdk::lang::System, acdk::lisp::LispObject, acdkx::com::ComObject, acdkx::orb::AcdkObject, acdkx::orb::CorObject, BasicArray< int >, BasicArray< byte >, BasicArray< char >, BasicArray< bool >, BasicArray< ucchar >, ObjectArrayImpl< RString >, ObjectArrayImpl< RBucketType >, ObjectArrayImpl< RLispStackFrame >, ObjectArrayImpl< RFile >, ObjectArrayImpl< RLispVar >, and ObjectArrayImpl< RValueType >.

void acdk::lang::ObjectBase::deallocate void *  ptr,
acdk::lang::sys::AllocatedType  at = acdk::lang::sys::RawMem
[inline]
 

If the object was allocated with an Allocator, this allocator can be used to deallocate internal memory.

void acdk::lang::ObjectBase::disposeRef  )  const
 

releases this object.

calls finalize and delete this

virtual void acdk::lang::ObjectBase::finalize  )  [inline, virtual]
 

Only for Java compatibility.

Reimplemented in acdk::cfgscript::ScriptObject, acdk::lang::Class, acdk::lang::Object, acdk::xml::libxmldom::LibXMLDocument, and acdkx::orb::ServerDelegate.

virtual dmi::ClazzInfo* acdk::lang::ObjectBase::getClazzInfo  )  [inline, virtual]
 

return the ClazzInfo for this class will be re-implemented for each class by methods generated by acdkmc

Reimplemented in acdk::cfgscript::ScriptObject, BasicArray< T >, acdk::lang::ObjectArrayBase, acdk::lang::System, acdk::lisp::LispObject, acdkx::com::ComObject, acdkx::orb::AcdkObject, acdkx::orb::CorObject, BasicArray< int >, BasicArray< byte >, BasicArray< char >, BasicArray< bool >, and BasicArray< ucchar >.

virtual void acdk::lang::ObjectBase::getCollectableFields FieldReferences fields  )  [inline, virtual]
 

retrun the collectable fields of this object (all Objects fields) will be re-implemented for each class by methods generated by acdkmc If this is manually implemented, the flag ObjectHasLocalGc should be set.

Reimplemented in acdk::cfgscript::ScriptObject, acdk::cfgscript::TokenizedSource, acdk::lang::ObjectArrayBase, acdk::lang::System, acdk::lisp::LispObject, acdkx::com::ComObject, acdkx::orb::AcdkObject, acdkx::orb::CorObject, tests::acdk::lang::dmi::AClass, tests::acdk::lang::dmi::AClass, and tests::acdk::lang::dmi::BClass.

bool acdk::lang::ObjectBase::hasLocalGc  )  const [inline]
 

See also:
ObjectHasLocalGc

bool acdk::lang::ObjectBase::isExternalRecorded  )  const [inline]
 

returns true if object external listener, which should be notified at deletion

bool acdk::lang::ObjectBase::isMarked  )  const [inline]
 

used internally for garbage collecting

bool acdk::lang::ObjectBase::isMemLocked  )  const [inline]
 

returns true if object reference is locked

bool acdk::lang::ObjectBase::isSoftReference  )  const [inline]
 

return true if this object is held by a soft reference

bool acdk::lang::ObjectBase::isStackRef  )  const [inline]
 

returns true if Object is allocated on Stack

bool acdk::lang::ObjectBase::isStaticRef  )  const [inline]
 

returns true if object is declared as static referenced

bool acdk::lang::ObjectBase::isUnsynchronized  )  const [inline]
 

returns true if object is declared as unsychronizable, which means lock/unlock will have no effect

bool acdk::lang::ObjectBase::isWeakRef  )  const [inline]
 

returns true if object is declared as weak referenced

virtual void acdk::lang::ObjectBase::lock  )  [virtual]
 

lock the object instance.

Note: Will be overwritten by acdk::io::Reader and acdk::io::Writer Note: if Unsynchronized or isStack is set, this call will have no effect

Reimplemented in acdk::cfgscript::Props, acdk::io::AbstractCharReader, acdk::io::AbstractCharWriter, acdk::io::AbstractReader, acdk::io::AbstractWriter, acdk::util::SynchronizedCollection, and acdk::util::SynchronizedMap.

void acdk::lang::ObjectBase::lockMem bool  lockit  )  const [inline]
 

lock or unlock the object reference.

if object is locked, object will not be destroyed

unsigned short acdk::lang::ObjectBase::magic  )  const [inline]
 

return the magic (_MagicObjectSig or _MagicDeletedSig) from this object instance

void acdk::lang::ObjectBase::operator delete void *  mem,
::acdk::lang::sys::Allocator allocator
 

this operator delete will only be called, in the case of an Exception in the of Object or derived

void acdk::lang::ObjectBase::operator delete void *  ptr,
void *  mem
[inline]
 

used for other allocators, will handled as stack var!

void acdk::lang::ObjectBase::operator delete void *  ptr  ) 
 

standard operator delete

void acdk::lang::ObjectBase::operator delete[] void *  ptr,
void *  mem
[inline]
 

used for other allocators, will handled as stack var!

void acdk::lang::ObjectBase::operator delete[] void *  ptr  ) 
 

array deallocator forwards to ACDK memory manager

void* acdk::lang::ObjectBase::operator new size_t  size,
::acdk::lang::sys::Allocator allocator
 

operator new, which uses the placement operator.

SharedMemAllocator* myObjectAllocator = new SharedMemAllocator(); RString o = new (myObjectAllocator) acdk::lang::Object();

void* acdk::lang::ObjectBase::operator new size_t  size,
void *  mem
[inline]
 

used for other allocators, will handled as stack var!

void* acdk::lang::ObjectBase::operator new size_t  size  ) 
 

the standard operator new

void* acdk::lang::ObjectBase::operator new[] size_t  size,
void *  mem
[inline]
 

used for other allocators, will handled as stack var!

void* acdk::lang::ObjectBase::operator new[] size_t  size  ) 
 

array allocator forwards to ACDK memory manager

int acdk::lang::ObjectBase::refCount  )  const [inline]
 

returns the current reference counter

void acdk::lang::ObjectBase::releaseRef bool  force = false  )  const [inline]
 

release Reference.

If not locked or WeakReference, Object will be destroyed

void acdk::lang::ObjectBase::setExternalRecorded bool  flag  )  const [inline]
 

see isExternalRecorded()

void acdk::lang::ObjectBase::setLocalGc bool  flag  )  const [inline]
 

See also:
ObjectHasLocalGc

void acdk::lang::ObjectBase::setMarked  )  const [inline]
 

used internally for garbage collecting

void acdk::lang::ObjectBase::setSoftReference bool  flag  )  const [inline]
 

see isSoftReference()

void acdk::lang::ObjectBase::setStackRef bool  asstackref  )  const [inline]
 

declares this object as stack object.

This will also declare the object as synchronizable or not!

void acdk::lang::ObjectBase::setStackRef  )  const [inline]
 

set Object as Stack Object.

Object will normaly not destroyed. String str(hallo); // this is a stack object

void acdk::lang::ObjectBase::setStaticRef bool  asstaticref  )  const [inline]
 

returns set or remove reference as static

void acdk::lang::ObjectBase::setUnsynchronized bool  unsynced  )  const [inline]
 

returns set or unset unsychronizable, which means lock/unlock will have no effect

void acdk::lang::ObjectBase::testIntegrity  )  const [inline]
 

test if object is still sane

virtual void acdk::lang::ObjectBase::unlock  )  [virtual]
 

unlock the object instance Note: Will be overwritten by acdk::io::Reader and acdk::io::Writer Note: if Unsynchronized or isStack is set, this call will have no effect

Reimplemented in acdk::cfgscript::Props, acdk::io::AbstractCharReader, acdk::io::AbstractCharWriter, acdk::io::AbstractReader, acdk::io::AbstractWriter, acdk::util::SynchronizedCollection, and acdk::util::SynchronizedMap.

void acdk::lang::ObjectBase::unsetMarked  )  const [inline]
 

used internally for garbage collecting


Member Data Documentation

unsigned short acdk::lang::ObjectBase::_magic [private]
 

magic Number of Object, for sanity check

RefFlagField acdk::lang::ObjectBase::_objectRefFlags [mutable, private]
 

a set of internal Flags.

See also:
RefFlags

sys::core_atomicop acdk::lang::ObjectBase::_refCount [mutable, private]
 

The Refernce Conter.

bool acdk::lang::ObjectBase::singleThreaded [static]
 

global variable which is true if program is running in single thread mode