graph LR
JSON_Dumper["JSON Dumper"]
XML_Dumper["XML Dumper"]
File_Handling_Utility["File Handling Utility"]
JSON_Dumper -- "depends on" --> File_Handling_Utility
XML_Dumper -- "depends on" --> File_Handling_Utility
File_Handling_Utility -- "provides services to" --> JSON_Dumper
File_Handling_Utility -- "provides services to" --> XML_Dumper
The knittingpattern.Dumper subsystem is responsible for serializing the internal Knitting Pattern Data Model into various output formats, primarily JSON and XML, and managing the underlying file I/O operations. It provides a clear separation of concerns, with format-specific dumpers leveraging a generic file handling utility. This design ensures flexibility in output formats while centralizing file system interactions.
This component is dedicated to serializing the internal Knitting Pattern Data Model into JSON format. It provides methods to convert knitting pattern objects or generic Python objects into JSON strings or to write them directly to JSON files. It acts as a specific output serializer for JSON.
Related Classes/Methods:
This component is responsible for serializing the internal Knitting Pattern Data Model into XML format. It offers methods to convert generic Python objects into XML strings or to write them directly to XML files. It serves as a specific output serializer for XML.
Related Classes/Methods:
This component provides a foundational layer for abstracting common file I/O operations within the Dumper subsystem. It handles writing strings and bytes to files, managing file paths, and creating temporary files. This utility ensures that format-specific dumpers (like JSON Dumper and XML Dumper) do not need to concern themselves with the low-level details of file system interactions, promoting separation of concerns.
Related Classes/Methods: