key value container of ZFObject More...
#include <ZFKeyValueContainer.h>
Public Member Functions | |
| virtual const ZFClass * | classData (void) |
| get instance's class info | |
| virtual void | addFrom (ZFKeyValueContainer *another)=0 |
| add data from another container | |
| virtual void | objectInfoOfContentT (zfstring &ret, zfindex maxCount=(((zfindex) -1)), const ZFTokenForKeyValueContainer &token=(_ZFP_ZFTokenForKeyValueContainerDefault)) |
| return a short string describe the content | |
| virtual zfstring | objectInfoOfContent (zfindex maxCount=(((zfindex) -1)), const ZFTokenForKeyValueContainer &token=(_ZFP_ZFTokenForKeyValueContainerDefault)) |
| see objectInfoOfContentT | |
| virtual void | objectInfoImpl (zfstring &ret) |
| see objectInfo | |
| virtual ZFCompareResult | objectCompareValueImpl (ZFObject *anotherObj) |
| see objectCompareValue | |
| Public Member Functions inherited from ZFObject | |
| const ZFClass * | classDynamic (void) |
| dynamic class of this object, see ZFClassDynamicRegister | |
| zfindex | objectRetainCount (void) |
| return the object's retain count | |
| void | objectInfoOfInstanceT (zfstring &ret) |
| see objectInfoOfInstance | |
| zfstring | objectInfoOfInstance (void) |
| return a short string describe the object instance | |
| void | objectInfoT (zfstring &ret) |
| see objectInfo | |
| zfstring | objectInfo (void) |
| return object info | |
| zfidentity | objectHash (void) |
| get hash of this object | |
| ZFCompareResult | objectCompare (ZFObject *anotherObj) |
| compare with anotherObj | |
| ZFCompareResult | objectCompareValue (ZFObject *anotherObj) |
| explicitly compare object by logical value, see objectCompare | |
| virtual zfauto | invoke (const zfstring &methodName) |
| util method to perform ZFDI_invoke, do nothing if fail | |
| virtual zfauto | invoke (const zfstring &methodName, ZFObject *param0, ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
| util method to perform ZFDI_invoke, do nothing if fail | |
| virtual zfbool | invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
| util method to perform ZFDI_invoke, do nothing if fail | |
| virtual zfauto | invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > ¶ms, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull) |
| util method to perform ZFDI_invoke, do nothing if fail | |
| zfbool | objectTagExist (void) |
| see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue | |
| void | objectTag (const zfstring &key, ZFObject *tag) |
| used to hold a object for app's use, auto retained | |
| zfany | objectTag (const zfstring &key) |
| see objectTag | |
| void | objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue) |
| get all key value | |
| void | objectTagRemove (const zfstring &key) |
| remove tag, same as set tag to null | |
| zfauto | objectTagRemoveAndGet (const zfstring &key) |
| remove tag, return removed tag or null if not exist | |
| void | objectTagRemoveAll (void) |
| remove all tag | |
| void | observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
| see observerNotify | |
| void | observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
| see observerNotify | |
| void | observerRemove (zfidentity eventId, const ZFListener &callback) |
| see observerNotify | |
| void | observerRemoveAll (zfidentity eventId) |
| see observerNotify | |
| void | observerRemoveAll (void) |
| see observerNotify | |
| zfbool | observerHasAdd (void) |
| true if any observer has been added | |
| zfbool | observerHasAdd (zfidentity eventId) |
| true if any observer with eventId has been added | |
| void | observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
| notify the observer with eventId | |
| void | observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
| see observerNotify | |
| void | observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
| see observerNotify | |
| void | observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
| see observerNotify | |
| ZFObserver & | observerHolder (void) |
| access the internal observer holder | |
| void | on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
| util to observerAdd | |
| void | on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
| util to observerAdd | |
| void | onInit (const ZFListener &impl) |
| util for script to achieve chained call | |
| void | onDealloc (const ZFListener &impl) |
| util for script to achieve chained call | |
| zfbool | objectInstanceStateCheck (ZFObjectInstanceState state) |
| object instance's state | |
| zfbool | objectInitRunning (void) |
| util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running | |
| zfbool | objectDeallocRunning (void) |
| util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running | |
| virtual zfbool | objectIsInternal (void) |
| whether this object is internal object or its class is ZFClass::classIsInternal | |
| virtual zfbool | objectIsInternalPrivate (void) |
| whether this object is internal private object or its class is ZFClass::classIsInternalPrivate | |
| Public Member Functions inherited from ZFSerializable | |
| zfbool | serializable (void) |
| true if object is currently serializable, see ZFSerializable | |
| zfbool | serializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
| serialize from data, see ZFSerializable | |
| zfbool | serializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
| serialize to data, see ZFSerializable | |
| zfbool | serializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
| serialize from string, return false by default | |
| zfbool | serializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
| see serializeFromString | |
| void | serializablePropertyTypeGetAll (ZFCoreArray< const ZFProperty * > ¬SerializableProperty, ZFCoreArray< const ZFProperty * > &serializableProperty, ZFCoreArray< const ZFProperty * > &embededProperty) |
| return a list of each type of property, for debug use only | |
| zfstring | serializablePropertyTypeInfo (void) |
| return info of serializablePropertyTypeGetAll, for debug use only | |
| void | serializableGetAllSerializablePropertyT (ZFCoreArray< const ZFProperty * > &ret) |
| see serializableGetAllSerializableProperty | |
| ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableProperty (void) |
| get all serializable property, usually for debug only, see serializableOnCheckPropertyType | |
| void | serializableGetAllSerializableEmbededPropertyT (ZFCoreArray< const ZFProperty * > &ret) |
| see serializableGetAllSerializableEmbededProperty | |
| ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableEmbededProperty (void) |
| get all serializable embeded property, usually for debug only, see serializableOnCheckPropertyType | |
| virtual void | serializableInfoT (zfstring &ret) |
| get info as a serializable | |
| virtual zfstring | serializableInfo (void) |
| see serializableInfoT | |
| Public Member Functions inherited from ZFInterface | |
| virtual ZFObject * | toObject (void)=0 |
| convert to ZFObject type | |
| Public Member Functions inherited from ZFCopyable | |
| zfautoT< ZFCopyable > | copy (void) |
| return a copy of this object | |
| void | copyFrom (ZFObject *anotherObj) |
| see copy, anotherObj must be same type as this object (by classData), otherwise, do nothing | |
| Public Member Functions inherited from ZFIterable | |
| virtual zfindex | count (void)=0 |
| return total count of this iterable | |
| virtual zfiter | iter (void)=0 |
| return a iter, see zfiter | |
| virtual zfiter | iterFind (ZFObject *element)=0 |
| find element | |
| virtual zfany | iterValue (const zfiter &it)=0 |
| get value by iter, see zfiter | |
| virtual void | iterValue (zfiter &it, ZFObject *value)=0 |
| set value at iter, see zfiter | |
| virtual void | iterRemove (zfiter &it)=0 |
| remove value at iter, see zfiter | |
| virtual void | removeAll (void)=0 |
| remove all contents of this iterable | |
| virtual zfiter | iterAdd (ZFObject *value)=0 |
| add value to tail | |
| virtual zfiter | iterAdd (ZFObject *value, zfiter &it)=0 |
| add value before iter, see zfiter | |
| Public Member Functions inherited from ZFIterableKeyValue | |
| virtual zfany | iterKey (const zfiter &it)=0 |
| get key value pair with iter, see zfiter | |
| virtual zfiter | iterAdd (ZFObject *key, ZFObject *value)=0 |
| add key value to tail, see zfiter | |
Static Public Member Functions | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| static zfidentity | E_ContentOnUpdate (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ContentOnAdd (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ContentOnRemove (void) |
| see ZFObject::observerNotify | |
| Static Public Member Functions inherited from ZFObject | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| static zfidentity | E_ObjectBeforeAlloc (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ObjectAfterAlloc (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ObjectBeforeDealloc (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ObjectPropertyValueOnUpdate (void) |
| see ZFObject::observerNotify | |
| static zfidentity | E_ObjectPropertyValueOnReset (void) |
| see ZFObject::observerNotify | |
| Static Public Member Functions inherited from ZFSerializable | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| Static Public Member Functions inherited from ZFInterface | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| Static Public Member Functions inherited from ZFCopyable | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| Static Public Member Functions inherited from ZFIterable | |
| static const ZFClass * | ClassData (void) |
| get class info | |
| Static Public Member Functions inherited from ZFIterableKeyValue | |
| static const ZFClass * | ClassData (void) |
| get class info | |
Protected Types | |
| typedef ZFObject | zfsuper |
| class ref to super | |
| typedef ZFKeyValueContainer | zfself |
| class ref to self | |
| Protected Types inherited from ZFObject | |
| typedef _ZFP_Obj_Base | zfsuper |
| class ref to super | |
| typedef ZFObject | zfself |
| class ref to self | |
| Protected Types inherited from ZFSerializable | |
| typedef ZFInterface | zfsuper |
| typedef for super (always ZFInterface for an interface type) | |
| typedef ZFSerializable | zfself |
| typedef for self | |
| Protected Types inherited from ZFInterface | |
| typedef _ZFP_ObjI_Base | zfsuper |
| typedef for super (always ZFInterface for an interface type) | |
| typedef ZFInterface | zfself |
| typedef for self | |
| Protected Types inherited from ZFCopyable | |
| typedef ZFInterface | zfsuper |
| typedef for super (always ZFInterface for an interface type) | |
| typedef ZFCopyable | zfself |
| typedef for self | |
| Protected Types inherited from ZFIterable | |
| typedef ZFInterface | zfsuper |
| typedef for super (always ZFInterface for an interface type) | |
| typedef ZFIterable | zfself |
| typedef for self | |
| Protected Types inherited from ZFIterableKeyValue | |
| typedef ZFInterface | zfsuper |
| typedef for super (always ZFInterface for an interface type) | |
| typedef ZFIterableKeyValue | zfself |
| typedef for self | |
Protected Member Functions | |
| virtual void | contentOnUpdate (void) |
| see E_ContentOnUpdate | |
| virtual void | contentOnAdd (ZFObject *key, ZFObject *value) |
| see E_ContentOnAdd | |
| virtual void | contentOnRemove (ZFObject *key, ZFObject *value) |
| see E_ContentOnRemove | |
| virtual zfbool | serializableOnCheck (void) |
| see serializable | |
| virtual zfbool | serializableOnSerializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
| for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable | |
| virtual zfbool | serializableOnSerializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
| see ZFSerializable::serializableOnSerializeToData | |
| virtual zfbool | serializableOnSerializeToDataWithRef (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
| see ZFKeyValueContainer::serializableOnSerializeToData | |
| virtual void | copyableOnCopyFrom (ZFObject *anotherObj) |
| called by copy to copy contents from anotherObj | |
| virtual void | objectOnDeallocPrepare (void) |
| called before objectOnDealloc, safe to call virtual functions here | |
| Protected Member Functions inherited from ZFObject | |
| virtual void | objectInfoImplAppend (zfstring &ret) |
| see objectInfo | |
| virtual zfidentity | objectHashImpl (void) |
| see objectHash | |
| virtual ZFCompareResult | objectCompareImpl (ZFObject *anotherObj) |
| see objectCompare | |
| virtual void | observerOnAdd (zfidentity eventId) |
| called when add first observer | |
| virtual void | observerOnRemove (zfidentity eventId) |
| called when remove last observer | |
| virtual void | observerOnEvent (const ZFArgs &zfargs) |
| notified when observerNotify | |
| virtual void | objectOnInit (void) |
| override this to init your object | |
| virtual void | objectOnInitFinish (void) |
| called after objectOnInit, safe to call virtual functions here | |
| virtual void | objectOnDealloc (void) |
| override this to destroy your object | |
| virtual void | objectOnRetain (void) |
| called to retain object | |
| virtual void | objectOnRelease (void) |
| called to release object | |
| virtual void | objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue) |
| see E_ObjectPropertyValueOnUpdate | |
| virtual void | objectPropertyValueOnReset (const ZFProperty *property) |
| see E_ObjectPropertyValueOnReset | |
| Protected Member Functions inherited from ZFSerializable | |
| virtual ZFSerializablePropertyType | serializableOnCheckPropertyType (const ZFProperty *property) |
| check the property type that serializable should do what while serializing | |
| virtual zfbool | serializableOnSerializePropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
| see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
| virtual zfbool | serializableOnSerializePropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
| see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
| virtual zfbool | serializableOnSerializeEmbededPropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
| see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
| virtual zfbool | serializableOnSerializeEmbededPropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, ZFSerializable *refOwner, zfstring *outErrorHint=zft_zfnull) |
| see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
| virtual zfbool | serializableOnSerializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
| see serializeFromString | |
| virtual zfbool | serializableOnSerializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
| see serializeFromString | |
Additional Inherited Members | |
| Public Types inherited from ZFObject | |
| enum | |
key value container of ZFObject
automatically retain Key and Value when add, and release it after remove
to go through all the contents, you should:
a key value container is serializable only if all of it's key and value are serializable
for performance, you should not check the serializable state too frequently
clear contents before serialize from data
serializable data:
|
inlinevirtual |
get instance's class info
Reimplemented from ZFObject.
Reimplemented in ZFHashMap, ZFMap, and ZFOrderMap.
|
static |
called when element added or removed or order changed
|
static |
called when element added
param0 is the element key, param1 is the element value
|
static |
called when element removed
param0 is the element key, param1 is the element value
|
pure virtual |
add data from another container
Implemented in ZFHashMap, ZFMap, and ZFOrderMap.
|
protectedvirtual |
see serializable
Reimplemented from ZFSerializable.
|
protectedvirtual |
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable
while overriding this method, you should call super first, and then check whether super has resolved the data
if subclass should resolve the category, you should mark data as resolved and return whether resolve success
if not, subclass should leave the data unresoved and return true
Reimplemented from ZFSerializable.
|
protectedvirtual |
see ZFSerializable::serializableOnSerializeToData
while serializing a container to data with ref or style logic, it's hard to auto serialize all contents, to workaround this problem, we would serialize all contents normally if no ref logic found, and would call serializableOnSerializeToDataWithRef otherwise, you should override serializableOnSerializeToDataWithRef if you have different ref logic
Reimplemented from ZFSerializable.
|
protectedvirtual |
called by copy to copy contents from anotherObj
anotherObj is ensured the same type as self, ensured not null, and ensured not same instance of this
by default this method would do nothing for performance
Reimplemented from ZFCopyable.
|
protectedvirtual |
called before objectOnDealloc, safe to call virtual functions here
usually used to cleanup resources attached to this object other than self's internal resources
Reimplemented from ZFObject.
|
inlinevirtual |
see objectInfo
Reimplemented from ZFObject.
|
virtual |
Reimplemented from ZFObject.