6#ifndef _ZFI_ZFSerializable_h_
7#define _ZFI_ZFSerializable_h_
17#define ZFSerializableKeyword_styleKey "styleKey"
30#define ZFSerializableKeyword_serializableNewInstanceId serializableNewInstance
34#define ZFSerializableKeyword_serializableNewInstance ZFM_TOSTRING(ZFSerializableKeyword_serializableNewInstanceId)
59#define ZFTOKEN_ZFSerializablePropertyTypeUnspecified "Unspecified"
61#define ZFTOKEN_ZFSerializablePropertyTypeNotSerializable "NotSerializable"
63#define ZFTOKEN_ZFSerializablePropertyTypeSerializable "Serializable"
65#define ZFTOKEN_ZFSerializablePropertyTypeEmbeded "Embeded"
68zfclassFwd _ZFP_I_ZFSerializablePropertyTypeHolder;
246 zffinal _ZFP_I_ZFSerializablePropertyTypeHolder *_ZFP_ZFSerializable_getPropertyTypeHolder(
void);
408 ,
ZF_IN ZFSerializable *refOwner
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
_ZFT_t_zfchar zfchar
char wrapper
Definition ZFCoreTypeDef_CharType.h:17
#define ZF_OUT_OPT
dummy macro that shows the param used as optional output
Definition ZFCoreTypeDef_ClassType.h:192
#define zffinal
dummy macro shows that a method or class is designed must not to be overrided
Definition ZFCoreTypeDef_ClassType.h:63
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define ZF_OUT
dummy macro that shows the param used as required output
Definition ZFCoreTypeDef_ClassType.h:188
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
#define zfclassFwd
forward declaration of a class type
Definition ZFCoreTypeDef_ClassType.h:31
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
#define zftrue
bool true type
Definition ZFCoreTypeDef_CoreType.h:107
#define zfindexMax()
(zfindex)-1, indicate a max index value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:159
#define zffalse
bool false type
Definition ZFCoreTypeDef_CoreType.h:111
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
base class of all objects
#define zfinterface
shows the type is an interface, see ZFInterface
Definition ZFObjectInterface.h:20
#define ZFINTERFACE_DECLARE(InterfaceName, ParentInterface,...)
see ZFInterface
Definition ZFObjectInterface.h:100
zfauto ZFObjectFromString(const ZFClass *cls, const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringT
Definition ZFSerializable.h:498
zfbool ZFObjectToStringOrDataT(zfstring &ret, ZFObject *obj, zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringOrDataT
zfstring ZFObjectToStringOrData(ZFObject *obj, zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringOrDataT
Definition ZFSerializable.h:555
zfbool ZFObjectToStringT(zfstring &ret, ZFObject *obj, zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringT
ZFSerializablePropertyType
serializable property type, see ZFSerializable::serializableOnCheckPropertyType
Definition ZFSerializable.h:40
@ ZFSerializablePropertyTypeSerializable
see ZFSerializable::serializableOnCheckPropertyType
Definition ZFSerializable.h:52
@ ZFSerializablePropertyTypeUnspecified
see ZFSerializable::serializableOnCheckPropertyType
Definition ZFSerializable.h:44
@ ZFSerializablePropertyTypeEmbeded
see ZFSerializable::serializableOnCheckPropertyType
Definition ZFSerializable.h:56
@ ZFSerializablePropertyTypeNotSerializable
see ZFSerializable::serializableOnCheckPropertyType
Definition ZFSerializable.h:48
zfbool ZFObjectToDataT(ZFSerializableData &serializableData, ZFObject *obj, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
see ZFObjectFromDataT
zfstring ZFObjectToString(ZFObject *obj, zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringT
Definition ZFSerializable.h:516
zfbool ZFObjectFromStringOrDataT(zfauto &result, const ZFClass *cls, const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
convenient method to ZFObjectFromString or ZFObjectFromData
ZFSerializableData ZFObjectToData(ZFObject *obj, zfbool *outSuccess=zft_zfnull, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
see ZFObjectFromDataT
zfauto ZFObjectFromData(const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull)
see ZFObjectFromDataT
zfbool ZFObjectFromDataT(zfauto &result, const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull)
convenient method to ZFSerializable::serializeFromData
zfbool ZFObjectIsSerializable(ZFObject *obj)
true if object is serializable
zfauto ZFObjectFromStringOrData(const ZFClass *cls, const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
see ZFObjectFromStringOrDataT
Definition ZFSerializable.h:537
zfbool ZFObjectFromStringT(zfauto &result, const ZFClass *cls, const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
convenient method to ZFSerializable::serializeFromString
ZFObject's class info.
Definition ZFClass.h:67
light weight array
Definition ZFCoreArray.h:331
base class of all objects
Definition ZFObjectCore.h:209
info for a property for ZFObject, see ZFPROPERTY_RETAIN for more info
Definition ZFProperty.h:28
ZFSerializable's data container, see ZFSerializable.
Definition ZFSerializableData.h:74
base class of call serializable object
Definition ZFSerializable.h:163
zfstring serializablePropertyTypeInfo(void)
return info of serializablePropertyTypeGetAll, for debug use only
void serializableGetAllSerializableEmbededPropertyT(ZFCoreArray< const ZFProperty * > &ret)
see serializableGetAllSerializableEmbededProperty
virtual zfbool serializableOnSerializeFromString(const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
see serializeFromString
Definition ZFSerializable.h:414
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,...
zfbool serializeToString(zfstring &ret, zfstring *errorHint=zft_zfnull)
see serializeFromString
ZFCoreArray< const ZFProperty * > serializableGetAllSerializableEmbededProperty(void)
get all serializable embeded property, usually for debug only, see serializableOnCheckPropertyType
Definition ZFSerializable.h:263
zfbool serializable(void)
true if object is currently serializable, see ZFSerializable
virtual zfstring serializableInfo(void)
see serializableInfoT
Definition ZFSerializable.h:435
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
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,...
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,...
virtual ZFSerializablePropertyType serializableOnCheckPropertyType(const ZFProperty *property)
check the property type that serializable should do what while serializing
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 s...
Definition ZFSerializable.h:327
virtual zfbool serializableOnSerializeToString(zfstring &ret, zfstring *errorHint=zft_zfnull)
see serializeFromString
Definition ZFSerializable.h:422
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,...
void serializableGetAllSerializablePropertyT(ZFCoreArray< const ZFProperty * > &ret)
see serializableGetAllSerializableProperty
ZFCoreArray< const ZFProperty * > serializableGetAllSerializableProperty(void)
get all serializable property, usually for debug only, see serializableOnCheckPropertyType
Definition ZFSerializable.h:253
virtual zfbool serializableOnSerializeToData(ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
corresponding to serializableOnSerializeFromData, return whether the task is success,...
Definition ZFSerializable.h:339
virtual zfbool serializableOnCheck(void)
see serializable
Definition ZFSerializable.h:312
zfbool serializeFromData(const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull)
serialize from data, see ZFSerializable
zfbool serializeFromString(const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
serialize from string, return false by default
zfbool serializeToData(ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
serialize to data, see ZFSerializable
virtual void serializableInfoT(zfstring &ret)
get info as a serializable
a ZFObject holder which would release content object automatically when destroyed
Definition zfautoFwd.h:34