Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tm::synchronizable(3pm) [debian man page]

TM::Synchronizable(3pm) 				User Contributed Perl Documentation				   TM::Synchronizable(3pm)

NAME
TM::Synchronizable - Topic Maps, trait for synchronizable resources SYNOPSIS
# you write an input/output driver # see for example TM::Synchronizable::MLDBM package My::WhatEver; # provides source_in and/or source_out methods sub source_in { .... } sub source_out { .... } 1; # you construct your map class package MySyncableMap; use TM; use base qw(TM); use Class::Trait qw(TM::ResourceAble TM::Synchronizable My::WhatEver); 1; # you then use that my $tm = MySyncableMap (url => 'file:/where/ever'); $tm->sync_in; # work with the map, etc... $tm->sync_out; DESCRIPTION
This trait implements the abstract synchronization between in-memory topic maps and the resources which are attached to them, i.e. files, web pages, etc. whatever can be addressed via a URI. Consequently, this trait inherits from TM::ResourceAble, although Class::Trait does not do this for you (sadly). The trait provides the methods "sync_in" and "sync_out" to implement the synchronization. In this process it uses the timestamp of the map ("last_mod") and that of the resource "mtime". Unfortunately, the granularity of the two are different (at least on current UNIX systems): for the last modification time values from Time::HiRes is used. UNIX resources only use an integer. Note: This needs a bit of consideration from the user's side. INTERFACE
Methods sync_in $tm->sync_in This method provides only the main logic, whether a synchronisation from the resource into the in-memory map should occur. If the last modification date of the resource ("mtime") is more recent than that of the map ("last_mod"), then synchronisation from the resource to the in-memory map will be triggered. For this, a method "source_in" has to exist for the map object; that will be invoked. [Since TM 1.53]: Any additional parameters are passed through to the underlying "source_in" method. sync_out $tm->sync_out This method provides the logic, whether synchronisation from the in-memory map towards the attached resource should occur or not. If the last modification date of the map ("last_mod") is more recent than that of the resource ("mtime"), then a method "source_out" for the object is triggered. [Since TM 1.53]: Any additional parameters are passed through to the underlying "source_out" method. SEE ALSO
TM, TM::ResourceAble AUTHOR INFORMATION
Copyright 20(0[6]|10), 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 perl v5.10.1 2012-06-05 TM::Synchronizable(3pm)

Check Out this Related Man Page

TM::Synchronizable::MapSphere(3pm)			User Contributed Perl Documentation			TM::Synchronizable::MapSphere(3pm)

NAME
TM::Synchronizable::MapSphere - Topic Maps, trait for a syncing a hierarchical TM repository SYNOPSIS
use TM; use base qw(TM); use Class::Trait ('TM::MapSphere', 'TM::Synchronizable::MLDBM' => { exclude => [ "sync_in", "sync_out" ] }, 'TM::Synchronizable::MapSphere'); DESCRIPTION
This trait adds "sync_in" and "sync_out" functionality to a map sphere. The point here is that embedded child maps are also synced out or in. Map Meta Data INTERFACE
Methods sync_in $ms->sync_in ($path) A whole subtree of the map repository can be sync'ed in, i.e. synchronized with contents in an associated resource. If this method is triggered with a particular path, then the map there will be (a) synced in, (b) queried for sub-maps and (c) these sub-maps will be instantiated. Recursively, these submaps will be sync'ed in, etc. All these sub maps will be mounted under this branch of the tree. When a map is instantiated, its implementation package will be extracted from the parent map using a "implementation" characteristic. The resource URL will be determined from one of the subject indicators, the base URI will be determined from the subject address of the map topic. If any of these are missing, this particular sub-map is ignored. Example: Let us assume that a map has a "baseuri" "http://whatever/" and a resource URL "http://example.org/here.xtm". It is a materialized map using the XTM driver. If this map is mounted into a root map under "/foo/", then the entry will take the form (using AsTMa= 2.0 as notation): foo isa topicmap ~ http://example.org/here.xtm = http://whatever/ implementation: TM::Materialized::XTM @@@ TODO: no path @@@@? sync_out $ms->sync_out ([ $path ], [ $depth ]) This method syncs out not only the root map sphere object (at least if the resource "mtime" is earlier that any change on the map sphere). The method also consults the mount tab to find child maps and will sync them out as well. The optional "path" parameter controls which subtree should be synced out. It defaults to "/". The optional $depth controls how deep the subtree should be followed downwards. Default is "MAX_DEPTH" (see the source). AUTHOR
Robert Barta, <drrho@cpan.org> COPYRIGHT AND LICENSE
Copyright (C) 200[67] by Robert Barta This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available. perl v5.10.1 2008-04-10 TM::Synchronizable::MapSphere(3pm)
Man Page