Inherits AZ::BaseJsonSerializer.
Public Member Functions | |
AZ_RTTI (JsonSmartPointerSerializer, "{D53EF0AA-8748-4CF8-9516-EA8B7C52C756}", BaseJsonSerializer) | |
JsonSerializationResult::Result | Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context) override |
JsonSerializationResult::Result | Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) override |
OperationFlags | GetOperationsFlags () const override |
Returns the operation flags which tells the Json Serialization how this custom json serializer can be used. | |
Public Member Functions inherited from AZ::BaseJsonSerializer | |
AZ_RTTI (BaseJsonSerializer, "{7291FFDC-D339-40B5-BB26-EA067A327B21}") | |
virtual JsonSerializationResult::Result | Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context) |
virtual JsonSerializationResult::Result | Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) |
virtual OperationFlags | GetOperationsFlags () const |
Returns the operation flags which tells the Json Serialization how this custom json serializer can be used. | |
Public Attributes | |
AZ_CLASS_ALLOCATOR_DECL | |
Additional Inherited Members | |
Public Types inherited from AZ::BaseJsonSerializer | |
enum class | ContinuationFlags { None = 0 , ResolvePointer = 1 << 0 , ReplaceDefault = 1 << 1 , LoadAsNewInstance = 1 << 2 , IgnoreTypeSerializer = 1 << 3 } |
enum class | OperationFlags { None = 0 , ManualDefault = 1 << 0 , InitializeNewInstance = 1 << 1 } |
Protected Member Functions inherited from AZ::BaseJsonSerializer | |
JsonSerializationResult::ResultCode | ContinueLoading (void *object, const Uuid &typeId, const rapidjson::Value &value, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
JsonSerializationResult::ResultCode | ContinueStoring (rapidjson::Value &output, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
JsonSerializationResult::ResultCode | LoadTypeId (Uuid &typeId, const rapidjson::Value &input, JsonDeserializerContext &context, const Uuid *baseTypeId=nullptr, bool *isExplicit=nullptr) |
JsonSerializationResult::ResultCode | StoreTypeId (rapidjson::Value &output, const Uuid &typeId, JsonSerializerContext &context) |
JsonSerializationResult::ResultCode | ContinueLoadingFromJsonObjectField (void *object, const Uuid &typeId, const rapidjson::Value &value, rapidjson::Value::StringRefType memberName, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
Helper function similar to ContinueLoading, but loads the data as a member of 'value' rather than 'value' itself, if it exists. | |
JsonSerializationResult::ResultCode | ContinueStoringToJsonObjectField (rapidjson::Value &output, rapidjson::Value::StringRefType newMemberName, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
Helper function similar to ContinueStoring, but stores the data as a member of 'output' rather than overwriting 'output'. | |
bool | IsExplicitDefault (const rapidjson::Value &value) |
rapidjson::Value | GetExplicitDefault () |
|
overridevirtual |
Returns the operation flags which tells the Json Serialization how this custom json serializer can be used.
Reimplemented from AZ::BaseJsonSerializer.
|
overridevirtual |
Transforms the data from the rapidjson Value to outputValue, if the conversion is possible and supported. The serializer is responsible for casting to the proper type and safely writing to the outputValue memory.
Reimplemented from AZ::BaseJsonSerializer.
|
overridevirtual |
Write the input value to a rapidjson value if the default value is not null and doesn't match the input value, otherwise an error is returned and sets the rapidjson value to a null value.
Reimplemented from AZ::BaseJsonSerializer.