TM::Materialized::JTM - Topic Maps, trait for JSON Topic Map instances.


TM documentation Contained in the TM distribution.

Index


Code Index:

NAME

Top

TM::Materialized::JTM - Topic Maps, trait for JSON Topic Map instances.

SYNOPSIS

Top

  use TM::Materialized::JTM;
  my $tm=TM::Materialized::JTM(file=>"somefile.jtm");
  $tm->sync_in;
  ...
  # map was modified, now save the changes
  $tm->sync_out;

DESCRIPTION

Top

This package provides map parsing and creating functionality for JTM (JSON Topic Map) instances. The JSON Topic Map format is defined here: http://www.cerny-online.com/jtm/1.0/.

INTERFACE

Top

Methods

Constructor

$tm = TM::Materialized::JTM->new (...);

The constructor expects a hash as described in TM::Materialized::Stream, with one additional key/value parameter:

* format (choices: "json", "yaml")

This option controls whether the JTM data is treated as being in JSON format or in YAML (which is a superset of JSON). This applies to both reading and writing of map data.

The default value is "json".

format

$tm->format('json');

$curformat=$tm->format;

This method gets or sets the format parameter for future operations. Possible choices: "json", "yaml".

SEE ALSO

Top

TM::Serializable::JTM

AUTHOR INFORMATION

Top

Copyright 2010, Alexander Zangerl, 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


TM documentation Contained in the TM distribution.
package TM::Materialized::JTM;
# $Id: JTM.pm,v 1.1 2010/04/09 09:57:17 az Exp $ 

use strict;
use Class::Trait qw(TM::Serializable::JTM);
use TM::Materialized::Stream;
use base qw (TM::Materialized::Stream);

use vars qw($VERSION);
$VERSION = qw(('$Revision: 1.2 $'))[1];

sub new 
{
    my ($class,%options)=@_;

    $options{psis}=$TM::PSI::topicmaps; 
    $options{format}||="json";

    return bless $class->SUPER::new(%options), $class;
}

sub format
{
    my ($self,$format)=@_;

    $self->{format}=$format if ($format=~/^(json|yaml)$/);
    return $self->{format};
}

1;