TM::Materialized::Stream(3) Topic Maps, abstract class for maps with stream based input/output drivers


# this class will never be directly used for instantiation
# see the description in TM and individual low-level drivers (AsTMa, ...)


This class is a subclass of TM, so it implements map objects. 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, TM::Materialized::XML, ....).



The constructor of implementations should expect a hash as parameter containing the field(s) from TM and one or more of the following:
If given, then the instance will be read from this url whenever synced in.
If given, then the data will be read/written from/to this file. This is just a convenience as it will be mapped to url.
If given, then the instance will be read directly from this text provided inline when synced.

If several fields ("file", "url", "inline") are specified, it is undefined which one will be taken.

Examples (using AsTMa):

   # opening from an AsTMa= file
   $atm = new TM::Materialized::AsTMa (file   => 'here.atm');
   # why need a file? files are evil, anyway
   $atm = new TM::Materialized::AsTMa (inline => '# this is AsTMa');


Copyright 200[2-6], Robert Barta <[email protected]>, All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.