object.h File Reference

## Classes

class | Object
| base class for java-like objects. More...
class | Object::ClazzObject

## Namespaces

| log4cxx
| log4cxx::helpers
| We need to double some logic from LOG4CXX_PTR_DEF or else we are unable to override the comparison operator, which we need to properly fix LOGCXX-394.

## Macros

#define | DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)
#define | DECLARE_LOG4CXX_OBJECT(object)
#define | DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)
#define | IMPLEMENT_LOG4CXX_OBJECT(object)
#define | IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)
#define | BEGIN_LOG4CXX_CAST_MAP()
#define | END_LOG4CXX_CAST_MAP()
#define | LOG4CXX_CAST_ENTRY(Interface) if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;
#define | LOG4CXX_CAST_ENTRY2(Interface, interface2) if (&clazz == &Interface::getStaticClass()) return (Interface *)(interface2 *)this;
#define | LOG4CXX_CAST_ENTRY_CHAIN(Interface)

## Functions

| LOG4CXX_PTR_DEF (Object)

## Macro Definition Documentation

## BEGIN_LOG4CXX_CAST_MAP

#define BEGIN_LOG4CXX_CAST_MAP | ( |  | ) |

Value:
const void * cast(const helpers::Class& clazz) const\
{\
const void * object = 0;\
if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;

## DECLARE_ABSTRACT_LOG4CXX_OBJECT

#define DECLARE_ABSTRACT_LOG4CXX_OBJECT | ( |  | object | ) |

Value:
public:\
class Clazz##object : public helpers::Class\
{\
public:\
Clazz##object() : helpers::Class() {}\
virtual ~Clazz##object() {}\
virtual log4cxx::LogString getName() const { return LOG4CXX_STR(#object); } \
};\
virtual const helpers::Class& getClass() const;\
static const helpers::Class& getStaticClass(); \
static const log4cxx::helpers::ClassRegistration& registerClass();
log4cxx::LogString
std::basic_string< logchar > LogString
Definition: logstring.h:67
log4cxx::helpers::ClassRegistration
Definition: classregistration.h:28

## DECLARE_LOG4CXX_OBJECT

#define DECLARE_LOG4CXX_OBJECT | ( |  | object | ) |

Value:
public:\
class Clazz##object : public helpers::Class\
{\
public:\
Clazz##object() : helpers::Class() {}\
virtual ~Clazz##object() {}\
virtual log4cxx::LogString getName() const { return LOG4CXX_STR(#object); } \
virtual helpers::ObjectPtr newInstance() const\
{\
return new object();\
}\
};\
virtual const helpers::Class& getClass() const;\
static const helpers::Class& getStaticClass(); \
static const log4cxx::helpers::ClassRegistration& registerClass();
log4cxx::LogString
std::basic_string< logchar > LogString
Definition: logstring.h:67
log4cxx::helpers::ClassRegistration
Definition: classregistration.h:28
log4cxx::helpers::ObjectPtr
ObjectPtrT< Object > ObjectPtr
Definition: propertysetter.h:28

## DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS

#define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS | ( |  | object,
|  |  | class
| ) |  |

Value:
public:\
virtual const helpers::Class& getClass() const;\
static const helpers::Class& getStaticClass();\
static const log4cxx::helpers::ClassRegistration& registerClass();
log4cxx::helpers::ClassRegistration
Definition: classregistration.h:28

## END_LOG4CXX_CAST_MAP

#define END_LOG4CXX_CAST_MAP | ( |  | ) |

Value:
return object;\
}\
bool instanceof(const helpers::Class& clazz) const\
{ return cast(clazz) != 0; }

## IMPLEMENT_LOG4CXX_OBJECT

#define IMPLEMENT_LOG4CXX_OBJECT | ( |  | object | ) |

Value:
const ::log4cxx::helpers::Class& object::getClass() const { return getStaticClass(); }\
const ::log4cxx::helpers::Class& object::getStaticClass() { \
static Clazz##object theClass; \
return theClass; \
} \
const log4cxx::helpers::ClassRegistration& object::registerClass() { \
static log4cxx::helpers::ClassRegistration classReg(object::getStaticClass); \
return classReg; \
}\
namespace log4cxx { namespace classes { \
const ::log4cxx::helpers::ClassRegistration& object##Registration = object::registerClass(); \
} }
log4cxx::helpers::ClassRegistration
Definition: classregistration.h:28
log4cxx
Definition: appender.h:33

## IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS

#define IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS | ( |  | object,
|  |  | class
| ) |  |

Value:
const log4cxx::helpers::Class& object::getClass() const { return getStaticClass(); }\
const log4cxx::helpers::Class& object::getStaticClass() { \
static class theClass; \
return theClass; \
} \
const log4cxx::helpers::ClassRegistration& object::registerClass() { \
static log4cxx::helpers::ClassRegistration classReg(object::getStaticClass); \
return classReg; \
}\
namespace log4cxx { namespace classes { \
const log4cxx::helpers::ClassRegistration& object##Registration = object::registerClass(); \
} }
log4cxx::helpers::Class
Definition: class.h:39
log4cxx::helpers::ClassRegistration
Definition: classregistration.h:28
log4cxx
Definition: appender.h:33

## LOG4CXX_CAST_ENTRY

#define LOG4CXX_CAST_ENTRY | ( |  | Interface | ) | if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;

## LOG4CXX_CAST_ENTRY2

#define LOG4CXX_CAST_ENTRY2 | ( |  | Interface,
|  |  | interface2
| ) |  | if (&clazz == &Interface::getStaticClass()) return (Interface *)(interface2 *)this;

## LOG4CXX_CAST_ENTRY_CHAIN

#define LOG4CXX_CAST_ENTRY_CHAIN | ( |  | Interface | ) |

Value:
object = Interface::cast(clazz);\
if (object != 0) return object;