1 package Onis::Data::Persistent::None;
12 Onis::Data::Persistent::None - Storage backend without storage.. ;)
16 Simple storage backend that handles data in-memory only..
18 =head1 CONFIGURATION OPTIONS
34 my $caller = caller ();
38 my $id = $caller . ':' . $name;
40 if (exists ($TREE->{$id}))
42 print STDERR $/, __FILE__, ": Name $name has been used in context $caller before.";
47 $obj->{'data'} = $TREE->{$id};
50 $obj->{'fields'} = [@fields];
51 $obj->{'num_fields'} = scalar (@fields);
52 $obj->{'field_index'} = {map { $_ => $i++ } (@fields)};
55 return (bless ($obj, $pkg));
64 if ($obj->{'num_fields'} != scalar (@fields))
66 my $id = $obj->{'id'};
67 print STDERR $/, __FILE__, ": Number of fields do not match ($id).";
71 $obj->{'data'}{$key} = [@fields];
79 if (!defined ($obj->{'data'}{$key}))
84 return (@{$obj->{'data'}{$key}});
91 my @field_indizes = ();
92 my @keys = keys %{$obj->{'data'}};
102 if (!defined ($obj->{'field_index'}{$field}))
104 my $id = $obj->{'id'};
105 print STDERR $/, __FILE__, ": $field is not a valid field ($id).";
107 push (@field_indizes, $obj->{'field_index'}{$field});
114 my $d = $obj->{'data'}{$a}[$_] cmp $obj->{'data'}{$b}[$_];
125 if (defined ($obj->{'data'}{$key}))
127 delete ($obj->{'data'}{$key});
133 Florian octo Forster, L<octo@verplant.org>