---
name: "TM::Materialized::File"
section: "3pm"
platform: "linux"
package: "libtm-perl"
version: "1.20-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/TM::Materialized::File"
---

# TM::Materialized::File(3pm)

TM::Materialized::File - Topic Maps, abstract class for stream (map) based input/output drivers

```
  # this class will never be directly used for instantiation
  # see the description in TM and individual low-level drivers
```

This class is a subclass of TM::Resource, so it implements maps which are connected to a resource. It is abstract, though, as it only defined how a stream-based driver package should behave. It may thus be inherited by classes which implement external formats (TM::Materialized::AsTMa, ....).\
 **Methods** The methods of synchronisation is defined here. They should not be directly called by a user, as they will be triggered by `"sync_in"` and `"sync_out"` from the superclass. What deriving implementations MUST implement are methods how to *deserialize* streams into maps and how to *serialize* maps to streams. If the serialization format supports this, of course. Note: No map consolidation is triggered here. The application has to do this separately. TM Copyright 200\[2-6\], Robert Barta \<drrho@cpan.org\>, All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html
