JD2022-TU1/main/tools/framework/JD.Serialization/_Documentation/Serializers.ClassDiagram.cd

169 lines
No EOL
8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="FullSignature">
<Comment CommentText="SERIALIZERS : Generated C# classes can be serialized in different formats. Each serializer correspond to a different format">
<Position X="0.5" Y="0.5" Height="0.833" Width="2.117" />
</Comment>
<Comment CommentText="TYPEMAPS: Allows to override the concrete class to use instead of the &quot;Serialized&quot; type name of the file. EXAMPLE : In the curve editor, we use &quot;SplinePointEdit&quot; classes instead of &quot;SplinePoint&quot; but in the file we write &quot;SplinePoint&quot; only.">
<Position X="7.896" Y="0.5" Height="1.115" Width="2.627" />
</Comment>
<Comment CommentText="The default Type map implementation scans assemblies for ITypeToTypeUnit using MEF">
<Position X="8.01" Y="3.365" Height="0.781" Width="1.94" />
</Comment>
<Comment CommentText="LUA READING: Reading is implemented using NLua library to read from a lua string/file">
<Position X="3.178" Y="4.646" Height="0.781" Width="1.94" />
</Comment>
<Comment CommentText="LUA WRITING: Writing is a custom &quot;in-house&quot; implementation that writes trying to replicate the engine format at a maximum">
<Position X="5.261" Y="4.636" Height="0.844" Width="2.388" />
</Comment>
<Comment CommentText="The Lua Serializer can work with a lua string or with a file">
<Position X="4.5" Y="2.01" Height="0.531" Width="2.085" />
</Comment>
<Comment CommentText="SERIALIZATION FLAGS : All the serializable properties are decorated with a UAFSerializableAttribute. The flags can be used to filter out some properties during the reading/writing">
<Position X="11.24" Y="0.521" Height="1.146" Width="2.294" />
</Comment>
<Class Name="JD.Serialization.Serializer" Collapsed="true">
<Position X="0.5" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>gAAABAAAAAAAAAAQAAAAQQIAAQAAAAAggCAiAAEAAAA=</HashCode>
<FileName>Serializers\Serializer.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="JD.Serialization.LuaSerializer">
<Position X="4.5" Y="2.75" Width="2.25" />
<Members>
<Field Name="_helpersIlu" Hidden="true" />
<Method Name="AddDefaultFunctions" Hidden="true" />
<Method Name="AddGlobalVariable" Hidden="true" />
<Field Name="AnimTableName" Hidden="true" />
<Property Name="AssembliesToSearchForType" Hidden="true" />
<Method Name="ConvertBaseTypeToLuaString" Hidden="true" />
<Method Name="ConvertLuaValueToBasicType" Hidden="true" />
<Method Name="CreateObjectFromLuaTable" Hidden="true" />
<Method Name="DoFile" Hidden="true" />
<Method Name="DoString" Hidden="true" />
<Method Name="FillBaseObject" Hidden="true" />
<Method Name="FillListFromLuaTable" Hidden="true" />
<Method Name="FillObjectFromLuaTable" Hidden="true" />
<Method Name="FillSpecialProperties" Hidden="true" />
<Method Name="FindType" Hidden="true" />
<Method Name="GetLuaTableFromString" Hidden="true" />
<Method Name="GetObjectFromLuaString" Hidden="true" />
<Method Name="GetTableNameFromFileName" Hidden="true" />
<Method Name="GetValueIgnoreCase" Hidden="true" />
<Method Name="IncludeReference" Hidden="true" />
<Method Name="InitializePropertyName" Hidden="true" />
<Method Name="IntializeEngineTypes" Hidden="true" />
<Method Name="IsList" Hidden="true" />
<Property Name="LastError" Hidden="true" />
<Method Name="LoadObjectFromFileImplementation" Hidden="true" />
<Method Name="LuaSerializer" Hidden="true" />
<Method Name="LuaTableFromFile" Hidden="true" />
<Method Name="LuaTableFromStream" Hidden="true" />
<Field Name="m_tableFound" Hidden="true" />
<Field Name="m_tableObjFound" Hidden="true" />
<Method Name="ObjectFromLuaStream" Hidden="true" />
<Method Name="ObjectFromLuaString" Hidden="true" />
<Method Name="ResolveTypeFromLuaString" Hidden="true" />
<Method Name="ResolveTypeFromLuaTable" Hidden="true" />
<Property Name="Root" Hidden="true" />
<Method Name="SaveObjectToFileImplementation" Hidden="true" />
<Method Name="SaveReferredFiles" Hidden="true" />
<Method Name="SaveToFile" Hidden="true" />
<Field Name="TableListPath" Hidden="true" />
<Field Name="TablePath" Hidden="true" />
<Field Name="TblListTableName" Hidden="true" />
<Field Name="TblTableName" Hidden="true" />
<Method Name="ToString" Hidden="true" />
<Method Name="ToTypedList" Hidden="true" />
<Field Name="TplTableName" Hidden="true" />
<Method Name="WriteLuaClass" Hidden="true" />
<Method Name="WriteLuaList" Hidden="true" />
<Method Name="WriteProperty" Hidden="true" />
</Members>
<TypeIdentifier>
<HashCode>AAAFBMAhqAUCNCAsACCCQAIYASxUBECAQEABBAFAAAA=</HashCode>
<FileName>Serializers\Lua\LuaSerializer.cs</FileName>
</TypeIdentifier>
<ShowAsAssociation>
<Field Name="m_lua" />
</ShowAsAssociation>
</Class>
<Class Name="JD.Serialization.BinarySerializer" Collapsed="true">
<Position X="0.5" Y="2.75" Width="1.5" />
<InheritanceLine Type="JD.Serialization.Serializer" FixedFromPoint="true" FixedToPoint="true">
<Path>
<Point X="1.062" Y="2.062" />
<Point X="1.062" Y="2.75" />
</Path>
</InheritanceLine>
<TypeIdentifier>
<HashCode>IAIEAAAAIFAAAAACQAIAQAIIAAAAABAhAAAAAAAgAAA=</HashCode>
<FileName>Serializers\Binary\BinarySerializer.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="JD.Serialization.XmlSerializer" Collapsed="true">
<Position X="2.5" Y="2.75" Width="1.5" />
<InheritanceLine Type="JD.Serialization.Serializer" FixedFromPoint="true">
<Path>
<Point X="1.5" Y="2.062" />
<Point X="1.5" Y="2.375" />
<Point X="3.25" Y="2.375" />
<Point X="3.25" Y="2.75" />
</Path>
</InheritanceLine>
<TypeIdentifier>
<HashCode>AAAEAAAAIAAAAAAAAAAAQAIEAAAAABAAEAAAIAAEBAA=</HashCode>
<FileName>Serializers\Xml\XmlSerializer.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="JD.Serialization.TypeMap" Collapsed="true">
<Position X="8" Y="4.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ABAAAAAAAAAAAAAAAAAAAAAAAAQgAAAAACAAFAAAAAA=</HashCode>
<FileName>Serializers\TypeMap\TypeMap.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="NLua.Lua" Collapsed="true">
<Position X="3.5" Y="5.75" Width="1.5" />
<TypeIdentifier />
<Lollipop Position="0.2" />
</Class>
<Class Name="JD.Serialization.LuaWriter" Collapsed="true">
<Position X="5.5" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAQCAEAAAIEAAAAAAQAAAAAEAAAAAAACEAgAA=</HashCode>
<FileName>Serializers\Lua\LuaWriter.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="JD.Serialization.UAFSerializableAttribute">
<Position X="11.25" Y="3.5" Width="2" />
<TypeIdentifier>
<HashCode>AAAABAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Attributes\UAFSerializableAttribute.cs</FileName>
</TypeIdentifier>
<ShowAsAssociation>
<Property Name="Flags" />
</ShowAsAssociation>
</Class>
<Interface Name="JD.Serialization.ITypeMap">
<Position X="8" Y="1.75" Width="1.75" />
<TypeIdentifier>
<HashCode>ABAAAAAAAAAAAAAAAAAAAAAAAAQgAAAAAAAAAAAAAAA=</HashCode>
<FileName>Serializers\TypeMap\ITypeMap.cs</FileName>
</TypeIdentifier>
</Interface>
<Interface Name="JD.Interfaces.Composition.Units.ITypeToTypeUnit" Collapsed="true">
<Position X="8" Y="5.25" Width="1.5" />
<TypeIdentifier />
</Interface>
<Enum Name="JD.Serialization.SerializationFlags">
<Position X="11.25" Y="2" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Serializers\SerializationFlags.cs</FileName>
</TypeIdentifier>
</Enum>
<Font Name="Segoe UI" Size="9" />
</ClassDiagram>