Workspace 6.21.5
Public Member Functions | List of all members
Serialize Class Referenceabstract

Base class for all objects that may want to support serialization. More...

#include <Workspace/DataExecution/Serialization/serialize.h>

Inheritance diagram for Serialize:
[legend]

Public Member Functions

virtual ~Serialize ()=default
 
virtual bool canSerialize () const =0
 
virtual bool load (const SerializedItem &item)=0
 
virtual bool save (SerializedItem &item) const =0
 

Detailed Description

This class defines an interface for serializing an object. If the object does not support serialization, it should return false from its canSerialize() function. In that case, the save and load functions will never be called. If the object does support serialization, the save and load functions do the actual work of serializing and re-loading the object's state. Note that an object is never created or destroyed. The save and load functions are purely for saving and loading the state of the object. Specifially, the load function loads data into an existing object (but it may result in sub-objects being created).

It should be noted that subclasses are not required to implement the save or load functions in a thread safe manner, so serialization must not be performed on a given SerializedTree or SerializedItem in more than one thread at a time. Some parts of the workspace application explicitly use non-threadsafe code to implement serialization for performance and/or memory efficiency reasons.

Constructor & Destructor Documentation

◆ ~Serialize()

virtual ~Serialize ( )
virtualdefault

Member Function Documentation

◆ canSerialize()

virtual bool canSerialize ( ) const
pure virtual
Returns
True if this object can be serialized.

For objects that can be serialized, the save and load functions will be used to do the serialization. If this function returns false, both load() and save() must also return false.

Implemented in ColorSpectrum, TransferFunction2dClassification, ElementMapper, ElementStateMapper, TypedMeshModelFilter, NodeMapper, NodeStateMapper, NodeTextureMapper, Matrix3x3Group, TransformByComponents, Glypher, Texturizer, KeyControlBinding, MouseControlBinding, Connection, DataTable, EmptyGroup, ObjectArray, ObjectDictionary, ObjectGroup, StringSelection, TypeAdaptor, TypedObject< T >, TypedObject< bool >, TypedObject< CSIRO::DataExecution::Dependency >, TypedObject< IntVector >, TypedObject< int >, TypedObject< CSIRO::DataAnalysis::Array3dTyped >, TypedObject< CSIRO::DataAnalysis::ColorScale >, TypedObject< CSIRO::DataAnalysis::ArrayNd >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRange >, TypedObject< CSIRO::DataExecution::ObjectArray >, TypedObject< double >, TypedObject< ScaleType >, TypedObject< QString >, TypedObject< TickLabelNumberFormat >, TypedObject< QStringList >, TypedObject< CSIRO::DataAnalysis::Chart >, TypedObject< QImage >, TypedObject< CSIRO::DataAnalysis::ColorSpectrum >, TypedObject< ColorScaleImage::Orientation >, TypedObject< ColorScaleImage::NumberFormat >, TypedObject< QColor >, TypedObject< QFont >, TypedObject< CSIRO::DataAnalysis::SqlCompositePrimaryKey >, TypedObject< CSIRO::DataExecution::ObjectDictionary >, TypedObject< QVariant >, TypedObject< CSIRO::DataAnalysis::ScriptedDataSeriesMapper >, TypedObject< CSIRO::DataAnalysis::ImageOverlay >, TypedObject< CSIRO::DataAnalysis::GridPlot >, TypedObject< ImageTileSet::SizePolicy >, TypedObject< QJsonDocument >, TypedObject< CSIRO::DataAnalysis::ImageTileSet >, TypedObject< QSqlDatabase >, TypedObject< CreateSqlTableFromCsvFile::ColumnHeaderFormatting >, TypedObject< CreateSqlTableFromCsvFile::DetermineDatatypes >, TypedObject< CSIRO::DataAnalysis::TransferFunction2d >, TypedObject< CsvReader::ColumnHeaderFormatting >, TypedObject< QVector< double > >, TypedObject< CSIRO::DataAnalysis::DataSeries >, TypedObject< QVector< int > >, TypedObject< DiscreteNamedDimensionRangeFilter::Operator >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRangeFilter >, TypedObject< GetImage3dSlice::SlicePlane >, TypedObject< CSIRO::DataAnalysis::SqlResultSet >, TypedObject< ImageOverlay::Anchor >, TypedObject< CSIRO::DataExecution::TypedObjectArray< T > >, TypedObject< CSIRO::DataAnalysis::DataSeriesMapper >, TypedObject< size_type >, TypedObject< CSIRO::DataAnalysis::ArrayNdDimensionLabels >, TypedObject< CSIRO::DataAnalysis::AxisSettings >, TypedObject< Plot::LegendAnchor >, TypedObject< CSIRO::DataAnalysis::PlotItem >, TypedObject< CSIRO::DataAnalysis::Plot >, TypedObject< PlotItem::ColorMode >, TypedObject< PlotItem::LineMode >, TypedObject< PlotItem::LineStyle >, TypedObject< PlotItem::LineType >, TypedObject< PlotItem::Glyph >, TypedObject< PlotRecolor::Theme >, TypedObject< RawVoxelReader::VoxelDataSize >, TypedObject< ResizeImage::ResizeUnits >, TypedObject< ResizeImage::SmoothingType >, TypedObject< CSIRO::DataAnalysis::TransferFunction2dClassification >, TypedObject< QDateTime >, TypedObject< Compare::Operator >, TypedObject< QByteArray >, TypedObject< DoubleToString::Format >, TypedObject< FileIterator::OutputFormat >, TypedObject< CSIRO::DataExecution::FileFilter >, TypedObject< CSIRO::DataExecution::FileSortFlags >, TypedObject< FileLoop::OutputFormat >, TypedObject< CSIRO::DataExecution::DirIteratorFlags >, TypedObject< PlatformInfo::Platform >, TypedObject< CSIRO::DataExecution::StringSelection >, TypedObject< QTime >, TypedObject< CSIRO::Mongo::Bson >, TypedObject< CSIRO::Mesh::MeshModelInterface >, TypedObject< CSIRO::Rendering::Shader >, TypedObject< CSIRO::Mesh::MeshModelLibrary >, TypedObject< CSIRO::Rendering::Transform >, TypedObject< CSIRO::Rendering::SceneItem >, TypedObject< CSIRO::Mesh::NodeMapper >, TypedObject< CSIRO::Mesh::MeshModel >, TypedObject< NodeHandleList >, TypedObject< CSIRO::Mesh::Vector3dGroup >, TypedObject< CSIRO::Mesh::BoundingBox >, TypedObject< CSIRO::Mesh::BoundingCylinder >, TypedObject< CSIRO::Mesh::BoundingPlane >, TypedObject< CSIRO::Mesh::BoundingSphere >, TypedObject< CSIRO::Mesh::Vector3d >, TypedObject< CSIRO::Mesh::TruncatedCone >, TypedObject< CSIRO::Mesh::ElementScriptMapper >, TypedObject< VectorMapping >, TypedObject< CSIRO::Mesh::ElementStateMapper >, TypedObject< EnsureElementStateExists::StateType >, TypedObject< EnsureNodeStateExists::StateType >, TypedObject< CSIRO::Mesh::TypedMeshModelFilter >, TypedObject< MeshModel::ListType >, TypedObject< QVector4D >, TypedObject< RangeInOut >, TypedObject< CSIRO::Mesh::MeshModelSource >, TypedObject< CSIRO::Mesh::TransformMatrix >, TypedObject< DataType >, TypedObject< quint8 >, TypedObject< quint16 >, TypedObject< MeshModelInterface::int_type >, TypedObject< CSIRO::Mesh::NodeCriterion >, TypedObject< CSIRO::Mesh::NodeScriptMapper >, TypedObject< CSIRO::Mesh::NodeStateMapper >, TypedObject< CSIRO::Mesh::NodeTextureMapper >, TypedObject< CSIRO::Mesh::Region >, TypedObject< CSIRO::Mesh::ElementCriterion >, TypedObject< CSIRO::Mesh::TransformGroup >, TypedObject< SmoothMeshMethod >, TypedObject< Vector3dGroup >, TypedObject< CSIRO::Mesh::VectorNodeStateMapper >, TypedObject< CSIRO::Mesh::VectorNodeTextureMapper >, TypedObject< CSIRO::Package::PackageItem >, TypedObject< CreateInstaller::VendorPackageNameLocation >, TypedObject< CSIRO::Package::LinuxDesktopIcon >, TypedObject< CSIRO::Package::StartMenuItem >, TypedObject< CSIRO::Provenance::ProvenanceReporter::Reporter >, TypedObject< Provenance::ReportItemAs >, TypedObject< WorkflowResult >, TypedObject< CSIRO::Rendering::AmbientLight >, TypedObject< CSIRO::Rendering::Camera >, TypedObject< CSIRO::Rendering::SceneOverlay >, TypedObject< CSIRO::Rendering::Texturizer >, TypedObject< CSIRO::Rendering::BillboardImageShader >, TypedObject< SurfaceRepresentation >, TypedObject< CSIRO::Rendering::BlinnPhongShader >, TypedObject< CSIRO::Rendering::Scene >, TypedObject< Camera::ProjectionMode >, TypedObject< CSIRO::Rendering::CameraInteractionOptions >, TypedObject< ClipRegion::ClipCriteria >, TypedObject< CSIRO::Rendering::ClipRegion >, TypedObject< CSIRO::Rendering::Annotation >, TypedObject< CSIRO::Rendering::ColorStateShader >, TypedObject< SuperquadricMesher::TextureCoords >, TypedObject< CSIRO::Rendering::DepthShader >, TypedObject< CSIRO::Rendering::DirectionalLight >, TypedObject< CSIRO::Mesh::ElementMapper >, TypedObject< CSIRO::Rendering::ElementColoringShader >, TypedObject< LodAccessMethod >, TypedObject< GridScaleBuilder::Plane >, TypedObject< CSIRO::Rendering::LambertShader >, TypedObject< CSIRO::Rendering::Glypher >, TypedObject< CSIRO::Rendering::NodeColoringShader >, TypedObject< NormalShader::Mode >, TypedObject< CSIRO::Rendering::NormalShader >, TypedObject< CSIRO::Rendering::OctreeShader >, TypedObject< CSIRO::Rendering::RenderTargetType >, TypedObject< CSIRO::Rendering::PlotGrid3dRenderOptions >, TypedObject< CSIRO::Rendering::PointLight >, TypedObject< CSIRO::Rendering::LightAttenuationFactors >, TypedObject< RadialGridBuilder::Plane >, TypedObject< RenderTargetType >, TypedObject< RenderSettings::FaceCulling >, TypedObject< RenderSettings::SymbolSizeCoordinateSystem >, TypedObject< unsigned int >, TypedObject< CSIRO::Rendering::RenderFilter >, TypedObject< RenderViewFrustumToMesh::TextureLocation >, TypedObject< CSIRO::Rendering::Texture2D >, TypedObject< CSIRO::Rendering::RodGlypher >, TypedObject< RodGlypherTargetType >, TypedObject< CSIRO::Rendering::ShaderLibrary >, TypedObject< CSIRO::Rendering::SceneItemLibrary >, TypedObject< CSIRO::Rendering::RenderSettings >, TypedObject< CSIRO::Rendering::SceneItemInstance >, TypedObject< SphereGlypher::SphereType >, TypedObject< CSIRO::Rendering::SphereGlypher >, TypedObject< LinearSpatialPartitioningTree::TreeLayout >, TypedObject< LinearSpatialPartitioningTree::QuadtreePlane >, TypedObject< PatchCountSpecification >, TypedObject< CSIRO::Rendering::SpotLight >, TypedObject< CSIRO::Rendering::SquareGlypher >, TypedObject< CSIRO::Rendering::StreakGlypher >, TypedObject< CSIRO::Rendering::SuperquadricGlypher >, TypedObject< Texturizer::Wrapping >, TypedObject< CSIRO::Rendering::Texture3D >, TypedObject< CSIRO::Rendering::TextureCoordShader >, TypedObject< CSIRO::Rendering::TextureProjectionShader >, TypedObject< CSIRO::Mesh::VectorNodeMapper >, TypedObject< CSIRO::Rendering::VectorGlypher >, TypedObject< CSIRO::Rendering::VolumeShader >, TypedObject< CSIRO::Ssh::SshSession >, TypedObject< QPointF >, TypedObject< ReportingLevel >, TypedObject< uint >, ExecutionTimekeeper::Event, InputArray, InputScalar, Output, Operation, and SerializedTree.

◆ load()

virtual bool load ( const SerializedItem item)
pure virtual
Parameters
itemSupplies the state to be loaded into this object.

This function will load the state of this object from item. For many object types, this is most easily implemented in terms of the object's input operator (>>).

It would be reasonable for subclass implementations to assume that the data provided in item is in the same form as would have been saved from a call to save.

Returns
If the state of the object could not be loaded, the function returns false. A return value of true implies that the object state was successfully loaded. If canSerialize() returns false, this function must do nothing except return false as well.

Implemented in ColorSpectrum, ArrayNdDimensionLabelsToStringListAdaptor, TransferFunction2dClassification, ImageToOverlayAdaptor, ElementMapper, ElementStateMapper, TypedMeshModelFilter, NodeMapper, NodeStateMapper, NodeTextureMapper, Matrix3x3Group, TransformByComponents, ImageToSceneOverlayAdaptor, Glypher, RodGlypher, SphereGlypher, SquareGlypher, StreakGlypher, SuperquadricGlypher, Texture2D, Texture3D, Texturizer, VectorGlypher, KeyControlBinding, MouseControlBinding, GhostOperation, ObjectDictionary, PlaceHolder, PostFileToDIDS, StoreProvenanceData, Connection, DataTable, DoubleToStringAdaptor, EmptyGroup, IntToStringAdaptor, ObjectArray, ObjectGroup, StringSelection, TypeAdaptor, TypedObject< T >, TypedObject< bool >, TypedObject< CSIRO::DataExecution::Dependency >, TypedObject< IntVector >, TypedObject< int >, TypedObject< CSIRO::DataAnalysis::Array3dTyped >, TypedObject< CSIRO::DataAnalysis::ColorScale >, TypedObject< CSIRO::DataAnalysis::ArrayNd >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRange >, TypedObject< CSIRO::DataExecution::ObjectArray >, TypedObject< double >, TypedObject< ScaleType >, TypedObject< QString >, TypedObject< TickLabelNumberFormat >, TypedObject< QStringList >, TypedObject< CSIRO::DataAnalysis::Chart >, TypedObject< QImage >, TypedObject< CSIRO::DataAnalysis::ColorSpectrum >, TypedObject< ColorScaleImage::Orientation >, TypedObject< ColorScaleImage::NumberFormat >, TypedObject< QColor >, TypedObject< QFont >, TypedObject< CSIRO::DataAnalysis::SqlCompositePrimaryKey >, TypedObject< CSIRO::DataExecution::ObjectDictionary >, TypedObject< QVariant >, TypedObject< CSIRO::DataAnalysis::ScriptedDataSeriesMapper >, TypedObject< CSIRO::DataAnalysis::ImageOverlay >, TypedObject< CSIRO::DataAnalysis::GridPlot >, TypedObject< ImageTileSet::SizePolicy >, TypedObject< QJsonDocument >, TypedObject< CSIRO::DataAnalysis::ImageTileSet >, TypedObject< QSqlDatabase >, TypedObject< CreateSqlTableFromCsvFile::ColumnHeaderFormatting >, TypedObject< CreateSqlTableFromCsvFile::DetermineDatatypes >, TypedObject< CSIRO::DataAnalysis::TransferFunction2d >, TypedObject< CsvReader::ColumnHeaderFormatting >, TypedObject< QVector< double > >, TypedObject< CSIRO::DataAnalysis::DataSeries >, TypedObject< QVector< int > >, TypedObject< DiscreteNamedDimensionRangeFilter::Operator >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRangeFilter >, TypedObject< GetImage3dSlice::SlicePlane >, TypedObject< CSIRO::DataAnalysis::SqlResultSet >, TypedObject< ImageOverlay::Anchor >, TypedObject< CSIRO::DataExecution::TypedObjectArray< T > >, TypedObject< CSIRO::DataAnalysis::DataSeriesMapper >, TypedObject< size_type >, TypedObject< CSIRO::DataAnalysis::ArrayNdDimensionLabels >, TypedObject< CSIRO::DataAnalysis::AxisSettings >, TypedObject< Plot::LegendAnchor >, TypedObject< CSIRO::DataAnalysis::PlotItem >, TypedObject< CSIRO::DataAnalysis::Plot >, TypedObject< PlotItem::ColorMode >, TypedObject< PlotItem::LineMode >, TypedObject< PlotItem::LineStyle >, TypedObject< PlotItem::LineType >, TypedObject< PlotItem::Glyph >, TypedObject< PlotRecolor::Theme >, TypedObject< RawVoxelReader::VoxelDataSize >, TypedObject< ResizeImage::ResizeUnits >, TypedObject< ResizeImage::SmoothingType >, TypedObject< CSIRO::DataAnalysis::TransferFunction2dClassification >, TypedObject< QDateTime >, TypedObject< Compare::Operator >, TypedObject< QByteArray >, TypedObject< DoubleToString::Format >, TypedObject< FileIterator::OutputFormat >, TypedObject< CSIRO::DataExecution::FileFilter >, TypedObject< CSIRO::DataExecution::FileSortFlags >, TypedObject< FileLoop::OutputFormat >, TypedObject< CSIRO::DataExecution::DirIteratorFlags >, TypedObject< PlatformInfo::Platform >, TypedObject< CSIRO::DataExecution::StringSelection >, TypedObject< QTime >, TypedObject< CSIRO::Mongo::Bson >, TypedObject< CSIRO::Mesh::MeshModelInterface >, TypedObject< CSIRO::Rendering::Shader >, TypedObject< CSIRO::Mesh::MeshModelLibrary >, TypedObject< CSIRO::Rendering::Transform >, TypedObject< CSIRO::Rendering::SceneItem >, TypedObject< CSIRO::Mesh::NodeMapper >, TypedObject< CSIRO::Mesh::MeshModel >, TypedObject< NodeHandleList >, TypedObject< CSIRO::Mesh::Vector3dGroup >, TypedObject< CSIRO::Mesh::BoundingBox >, TypedObject< CSIRO::Mesh::BoundingCylinder >, TypedObject< CSIRO::Mesh::BoundingPlane >, TypedObject< CSIRO::Mesh::BoundingSphere >, TypedObject< CSIRO::Mesh::Vector3d >, TypedObject< CSIRO::Mesh::TruncatedCone >, TypedObject< CSIRO::Mesh::ElementScriptMapper >, TypedObject< VectorMapping >, TypedObject< CSIRO::Mesh::ElementStateMapper >, TypedObject< EnsureElementStateExists::StateType >, TypedObject< EnsureNodeStateExists::StateType >, TypedObject< CSIRO::Mesh::TypedMeshModelFilter >, TypedObject< MeshModel::ListType >, TypedObject< QVector4D >, TypedObject< RangeInOut >, TypedObject< CSIRO::Mesh::MeshModelSource >, TypedObject< CSIRO::Mesh::TransformMatrix >, TypedObject< DataType >, TypedObject< quint8 >, TypedObject< quint16 >, TypedObject< MeshModelInterface::int_type >, TypedObject< CSIRO::Mesh::NodeCriterion >, TypedObject< CSIRO::Mesh::NodeScriptMapper >, TypedObject< CSIRO::Mesh::NodeStateMapper >, TypedObject< CSIRO::Mesh::NodeTextureMapper >, TypedObject< CSIRO::Mesh::Region >, TypedObject< CSIRO::Mesh::ElementCriterion >, TypedObject< CSIRO::Mesh::TransformGroup >, TypedObject< SmoothMeshMethod >, TypedObject< Vector3dGroup >, TypedObject< CSIRO::Mesh::VectorNodeStateMapper >, TypedObject< CSIRO::Mesh::VectorNodeTextureMapper >, TypedObject< CSIRO::Package::PackageItem >, TypedObject< CreateInstaller::VendorPackageNameLocation >, TypedObject< CSIRO::Package::LinuxDesktopIcon >, TypedObject< CSIRO::Package::StartMenuItem >, TypedObject< CSIRO::Provenance::ProvenanceReporter::Reporter >, TypedObject< Provenance::ReportItemAs >, TypedObject< WorkflowResult >, TypedObject< CSIRO::Rendering::AmbientLight >, TypedObject< CSIRO::Rendering::Camera >, TypedObject< CSIRO::Rendering::SceneOverlay >, TypedObject< CSIRO::Rendering::Texturizer >, TypedObject< CSIRO::Rendering::BillboardImageShader >, TypedObject< SurfaceRepresentation >, TypedObject< CSIRO::Rendering::BlinnPhongShader >, TypedObject< CSIRO::Rendering::Scene >, TypedObject< Camera::ProjectionMode >, TypedObject< CSIRO::Rendering::CameraInteractionOptions >, TypedObject< ClipRegion::ClipCriteria >, TypedObject< CSIRO::Rendering::ClipRegion >, TypedObject< CSIRO::Rendering::Annotation >, TypedObject< CSIRO::Rendering::ColorStateShader >, TypedObject< SuperquadricMesher::TextureCoords >, TypedObject< CSIRO::Rendering::DepthShader >, TypedObject< CSIRO::Rendering::DirectionalLight >, TypedObject< CSIRO::Mesh::ElementMapper >, TypedObject< CSIRO::Rendering::ElementColoringShader >, TypedObject< LodAccessMethod >, TypedObject< GridScaleBuilder::Plane >, TypedObject< CSIRO::Rendering::LambertShader >, TypedObject< CSIRO::Rendering::Glypher >, TypedObject< CSIRO::Rendering::NodeColoringShader >, TypedObject< NormalShader::Mode >, TypedObject< CSIRO::Rendering::NormalShader >, TypedObject< CSIRO::Rendering::OctreeShader >, TypedObject< CSIRO::Rendering::RenderTargetType >, TypedObject< CSIRO::Rendering::PlotGrid3dRenderOptions >, TypedObject< CSIRO::Rendering::PointLight >, TypedObject< CSIRO::Rendering::LightAttenuationFactors >, TypedObject< RadialGridBuilder::Plane >, TypedObject< RenderTargetType >, TypedObject< RenderSettings::FaceCulling >, TypedObject< RenderSettings::SymbolSizeCoordinateSystem >, TypedObject< unsigned int >, TypedObject< CSIRO::Rendering::RenderFilter >, TypedObject< RenderViewFrustumToMesh::TextureLocation >, TypedObject< CSIRO::Rendering::Texture2D >, TypedObject< CSIRO::Rendering::RodGlypher >, TypedObject< RodGlypherTargetType >, TypedObject< CSIRO::Rendering::ShaderLibrary >, TypedObject< CSIRO::Rendering::SceneItemLibrary >, TypedObject< CSIRO::Rendering::RenderSettings >, TypedObject< CSIRO::Rendering::SceneItemInstance >, TypedObject< SphereGlypher::SphereType >, TypedObject< CSIRO::Rendering::SphereGlypher >, TypedObject< LinearSpatialPartitioningTree::TreeLayout >, TypedObject< LinearSpatialPartitioningTree::QuadtreePlane >, TypedObject< PatchCountSpecification >, TypedObject< CSIRO::Rendering::SpotLight >, TypedObject< CSIRO::Rendering::SquareGlypher >, TypedObject< CSIRO::Rendering::StreakGlypher >, TypedObject< CSIRO::Rendering::SuperquadricGlypher >, TypedObject< Texturizer::Wrapping >, TypedObject< CSIRO::Rendering::Texture3D >, TypedObject< CSIRO::Rendering::TextureCoordShader >, TypedObject< CSIRO::Rendering::TextureProjectionShader >, TypedObject< CSIRO::Mesh::VectorNodeMapper >, TypedObject< CSIRO::Rendering::VectorGlypher >, TypedObject< CSIRO::Rendering::VolumeShader >, TypedObject< CSIRO::Ssh::SshSession >, TypedObject< QPointF >, TypedObject< ReportingLevel >, TypedObject< uint >, ExecutionTimekeeper::Event, InputArray, InputScalar, Output, Operation, Workspace, and SerializedTree.

◆ save()

virtual bool save ( SerializedItem item) const
pure virtual
Parameters
itemWhere to save the state of this object.

This function will serialise the object by saving it to item. For most object types, this is most easily implemented in terms of the object's output operator (<<).

It is allowable for an object to only serialize part of itself. This would be useful if the data it represents has a set of defaults and only those values different to the defaults need to be serialized. Such an implementation then needs to be careful how it handles the complimentary load member function.

Returns
If an object could not be serialised or if the underlying object type does not support serialisation, this function should return false. A return value of true implies that the object was successfully saved to item. If canSerialize() returns false, this function must do nothing except return false as well.

Implemented in ColorSpectrum, ArrayNdDimensionLabelsToStringListAdaptor, TransferFunction2dClassification, ImageToOverlayAdaptor, ElementMapper, ElementStateMapper, TypedMeshModelFilter, NodeMapper, NodeStateMapper, NodeTextureMapper, Matrix3x3Group, TransformByComponents, ImageToSceneOverlayAdaptor, Glypher, RodGlypher, SphereGlypher, SquareGlypher, StreakGlypher, SuperquadricGlypher, Texture2D, Texture3D, Texturizer, VectorGlypher, KeyControlBinding, MouseControlBinding, ObjectDictionary, Connection, DataTable, DoubleToStringAdaptor, EmptyGroup, IntToStringAdaptor, ObjectArray, ObjectGroup, StringSelection, TypeAdaptor, TypedObject< T >, TypedObject< bool >, TypedObject< CSIRO::DataExecution::Dependency >, TypedObject< IntVector >, TypedObject< int >, TypedObject< CSIRO::DataAnalysis::Array3dTyped >, TypedObject< CSIRO::DataAnalysis::ColorScale >, TypedObject< CSIRO::DataAnalysis::ArrayNd >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRange >, TypedObject< CSIRO::DataExecution::ObjectArray >, TypedObject< double >, TypedObject< ScaleType >, TypedObject< QString >, TypedObject< TickLabelNumberFormat >, TypedObject< QStringList >, TypedObject< CSIRO::DataAnalysis::Chart >, TypedObject< QImage >, TypedObject< CSIRO::DataAnalysis::ColorSpectrum >, TypedObject< ColorScaleImage::Orientation >, TypedObject< ColorScaleImage::NumberFormat >, TypedObject< QColor >, TypedObject< QFont >, TypedObject< CSIRO::DataAnalysis::SqlCompositePrimaryKey >, TypedObject< CSIRO::DataExecution::ObjectDictionary >, TypedObject< QVariant >, TypedObject< CSIRO::DataAnalysis::ScriptedDataSeriesMapper >, TypedObject< CSIRO::DataAnalysis::ImageOverlay >, TypedObject< CSIRO::DataAnalysis::GridPlot >, TypedObject< ImageTileSet::SizePolicy >, TypedObject< QJsonDocument >, TypedObject< CSIRO::DataAnalysis::ImageTileSet >, TypedObject< QSqlDatabase >, TypedObject< CreateSqlTableFromCsvFile::ColumnHeaderFormatting >, TypedObject< CreateSqlTableFromCsvFile::DetermineDatatypes >, TypedObject< CSIRO::DataAnalysis::TransferFunction2d >, TypedObject< CsvReader::ColumnHeaderFormatting >, TypedObject< QVector< double > >, TypedObject< CSIRO::DataAnalysis::DataSeries >, TypedObject< QVector< int > >, TypedObject< DiscreteNamedDimensionRangeFilter::Operator >, TypedObject< CSIRO::DataAnalysis::NamedDimensionRangeFilter >, TypedObject< GetImage3dSlice::SlicePlane >, TypedObject< CSIRO::DataAnalysis::SqlResultSet >, TypedObject< ImageOverlay::Anchor >, TypedObject< CSIRO::DataExecution::TypedObjectArray< T > >, TypedObject< CSIRO::DataAnalysis::DataSeriesMapper >, TypedObject< size_type >, TypedObject< CSIRO::DataAnalysis::ArrayNdDimensionLabels >, TypedObject< CSIRO::DataAnalysis::AxisSettings >, TypedObject< Plot::LegendAnchor >, TypedObject< CSIRO::DataAnalysis::PlotItem >, TypedObject< CSIRO::DataAnalysis::Plot >, TypedObject< PlotItem::ColorMode >, TypedObject< PlotItem::LineMode >, TypedObject< PlotItem::LineStyle >, TypedObject< PlotItem::LineType >, TypedObject< PlotItem::Glyph >, TypedObject< PlotRecolor::Theme >, TypedObject< RawVoxelReader::VoxelDataSize >, TypedObject< ResizeImage::ResizeUnits >, TypedObject< ResizeImage::SmoothingType >, TypedObject< CSIRO::DataAnalysis::TransferFunction2dClassification >, TypedObject< QDateTime >, TypedObject< Compare::Operator >, TypedObject< QByteArray >, TypedObject< DoubleToString::Format >, TypedObject< FileIterator::OutputFormat >, TypedObject< CSIRO::DataExecution::FileFilter >, TypedObject< CSIRO::DataExecution::FileSortFlags >, TypedObject< FileLoop::OutputFormat >, TypedObject< CSIRO::DataExecution::DirIteratorFlags >, TypedObject< PlatformInfo::Platform >, TypedObject< CSIRO::DataExecution::StringSelection >, TypedObject< QTime >, TypedObject< CSIRO::Mongo::Bson >, TypedObject< CSIRO::Mesh::MeshModelInterface >, TypedObject< CSIRO::Rendering::Shader >, TypedObject< CSIRO::Mesh::MeshModelLibrary >, TypedObject< CSIRO::Rendering::Transform >, TypedObject< CSIRO::Rendering::SceneItem >, TypedObject< CSIRO::Mesh::NodeMapper >, TypedObject< CSIRO::Mesh::MeshModel >, TypedObject< NodeHandleList >, TypedObject< CSIRO::Mesh::Vector3dGroup >, TypedObject< CSIRO::Mesh::BoundingBox >, TypedObject< CSIRO::Mesh::BoundingCylinder >, TypedObject< CSIRO::Mesh::BoundingPlane >, TypedObject< CSIRO::Mesh::BoundingSphere >, TypedObject< CSIRO::Mesh::Vector3d >, TypedObject< CSIRO::Mesh::TruncatedCone >, TypedObject< CSIRO::Mesh::ElementScriptMapper >, TypedObject< VectorMapping >, TypedObject< CSIRO::Mesh::ElementStateMapper >, TypedObject< EnsureElementStateExists::StateType >, TypedObject< EnsureNodeStateExists::StateType >, TypedObject< CSIRO::Mesh::TypedMeshModelFilter >, TypedObject< MeshModel::ListType >, TypedObject< QVector4D >, TypedObject< RangeInOut >, TypedObject< CSIRO::Mesh::MeshModelSource >, TypedObject< CSIRO::Mesh::TransformMatrix >, TypedObject< DataType >, TypedObject< quint8 >, TypedObject< quint16 >, TypedObject< MeshModelInterface::int_type >, TypedObject< CSIRO::Mesh::NodeCriterion >, TypedObject< CSIRO::Mesh::NodeScriptMapper >, TypedObject< CSIRO::Mesh::NodeStateMapper >, TypedObject< CSIRO::Mesh::NodeTextureMapper >, TypedObject< CSIRO::Mesh::Region >, TypedObject< CSIRO::Mesh::ElementCriterion >, TypedObject< CSIRO::Mesh::TransformGroup >, TypedObject< SmoothMeshMethod >, TypedObject< Vector3dGroup >, TypedObject< CSIRO::Mesh::VectorNodeStateMapper >, TypedObject< CSIRO::Mesh::VectorNodeTextureMapper >, TypedObject< CSIRO::Package::PackageItem >, TypedObject< CreateInstaller::VendorPackageNameLocation >, TypedObject< CSIRO::Package::LinuxDesktopIcon >, TypedObject< CSIRO::Package::StartMenuItem >, TypedObject< CSIRO::Provenance::ProvenanceReporter::Reporter >, TypedObject< Provenance::ReportItemAs >, TypedObject< WorkflowResult >, TypedObject< CSIRO::Rendering::AmbientLight >, TypedObject< CSIRO::Rendering::Camera >, TypedObject< CSIRO::Rendering::SceneOverlay >, TypedObject< CSIRO::Rendering::Texturizer >, TypedObject< CSIRO::Rendering::BillboardImageShader >, TypedObject< SurfaceRepresentation >, TypedObject< CSIRO::Rendering::BlinnPhongShader >, TypedObject< CSIRO::Rendering::Scene >, TypedObject< Camera::ProjectionMode >, TypedObject< CSIRO::Rendering::CameraInteractionOptions >, TypedObject< ClipRegion::ClipCriteria >, TypedObject< CSIRO::Rendering::ClipRegion >, TypedObject< CSIRO::Rendering::Annotation >, TypedObject< CSIRO::Rendering::ColorStateShader >, TypedObject< SuperquadricMesher::TextureCoords >, TypedObject< CSIRO::Rendering::DepthShader >, TypedObject< CSIRO::Rendering::DirectionalLight >, TypedObject< CSIRO::Mesh::ElementMapper >, TypedObject< CSIRO::Rendering::ElementColoringShader >, TypedObject< LodAccessMethod >, TypedObject< GridScaleBuilder::Plane >, TypedObject< CSIRO::Rendering::LambertShader >, TypedObject< CSIRO::Rendering::Glypher >, TypedObject< CSIRO::Rendering::NodeColoringShader >, TypedObject< NormalShader::Mode >, TypedObject< CSIRO::Rendering::NormalShader >, TypedObject< CSIRO::Rendering::OctreeShader >, TypedObject< CSIRO::Rendering::RenderTargetType >, TypedObject< CSIRO::Rendering::PlotGrid3dRenderOptions >, TypedObject< CSIRO::Rendering::PointLight >, TypedObject< CSIRO::Rendering::LightAttenuationFactors >, TypedObject< RadialGridBuilder::Plane >, TypedObject< RenderTargetType >, TypedObject< RenderSettings::FaceCulling >, TypedObject< RenderSettings::SymbolSizeCoordinateSystem >, TypedObject< unsigned int >, TypedObject< CSIRO::Rendering::RenderFilter >, TypedObject< RenderViewFrustumToMesh::TextureLocation >, TypedObject< CSIRO::Rendering::Texture2D >, TypedObject< CSIRO::Rendering::RodGlypher >, TypedObject< RodGlypherTargetType >, TypedObject< CSIRO::Rendering::ShaderLibrary >, TypedObject< CSIRO::Rendering::SceneItemLibrary >, TypedObject< CSIRO::Rendering::RenderSettings >, TypedObject< CSIRO::Rendering::SceneItemInstance >, TypedObject< SphereGlypher::SphereType >, TypedObject< CSIRO::Rendering::SphereGlypher >, TypedObject< LinearSpatialPartitioningTree::TreeLayout >, TypedObject< LinearSpatialPartitioningTree::QuadtreePlane >, TypedObject< PatchCountSpecification >, TypedObject< CSIRO::Rendering::SpotLight >, TypedObject< CSIRO::Rendering::SquareGlypher >, TypedObject< CSIRO::Rendering::StreakGlypher >, TypedObject< CSIRO::Rendering::SuperquadricGlypher >, TypedObject< Texturizer::Wrapping >, TypedObject< CSIRO::Rendering::Texture3D >, TypedObject< CSIRO::Rendering::TextureCoordShader >, TypedObject< CSIRO::Rendering::TextureProjectionShader >, TypedObject< CSIRO::Mesh::VectorNodeMapper >, TypedObject< CSIRO::Rendering::VectorGlypher >, TypedObject< CSIRO::Rendering::VolumeShader >, TypedObject< CSIRO::Ssh::SshSession >, TypedObject< QPointF >, TypedObject< ReportingLevel >, TypedObject< uint >, ExecutionTimekeeper::Event, InputArray, InputScalar, Output, PlaceHolder, Operation, and SerializedTree.