Inherits AZ::BaseJsonSerializer.
|
| AZ_RTTI (JsonBasicContainerSerializer, "{3E2D0315-BC21-4127-91A3-E5EFE6826ECE}", 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 |
|
| 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.
|
|
|
virtual bool | ShouldClearContainer (const JsonDeserializerContext &context) const |
|
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 () |
|
◆ Load()
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.
- Note
- The default implementation is to load the object ignoring a custom serializers for the type, which allows for custom serializers to modify the object after all default loading has occurred.
Reimplemented from AZ::BaseJsonSerializer.
◆ ShouldClearContainer()
virtual bool AZ::JsonBasicContainerSerializer::ShouldClearContainer |
( |
const JsonDeserializerContext & |
context | ) |
const |
|
protectedvirtual |
When this function returns true then the container will be cleared before applying the data from the json document. When returns false any elements in the container will be kept and not overwritten.
◆ Store()
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.
- Note
- The default implementation is to store the object ignoring custom serializers.
Reimplemented from AZ::BaseJsonSerializer.
The documentation for this class was generated from the following file:
- Code/Framework/AzCore/AzCore/Serialization/Json/BasicContainerSerializer.h