/[cvs]/nfo/perl/libs/Data/Storage/Handler/File.pm
ViewVC logotype

Contents of /nfo/perl/libs/Data/Storage/Handler/File.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Tue Feb 11 05:15:45 2003 UTC (21 years, 4 months ago) by joko
Branch: MAIN
Changes since 1.3: +6 -10 lines
- no Exporter any more

1 #!/usr/bin/perl
2
3 ## ------------------------------------------------------------------------
4 ## $Id: File.pm,v 1.3 2003/02/09 04:54:27 joko Exp $
5 ## ------------------------------------------------------------------------
6 ## $Log: File.pm,v $
7 ## Revision 1.3 2003/02/09 04:54:27 joko
8 ## - refactored lots of code to Data::Storage::Handler::File::Basic
9 ## - sorry!
10 ##
11 ## ------------------------------------------------------------------------
12
13
14 package Data::Storage::Handler::File;
15
16 use strict;
17 use warnings;
18
19 use base qw( DesignPattern::Object );
20
21
22 use Data::Storage::Handler::File::Basic qw( s2f a2f f2s );
23
24 sub _read {
25 my $self = shift;
26 $self->{_buffer_orig} = f2s($self->{path});
27 $self->{_buffer} = f2s($self->{path});
28 }
29
30 sub toString {
31 my $self = shift;
32 $self->_read();
33 return $self->{_buffer};
34 }
35
36 sub addSuffix {
37 my $self = shift;
38 my $suffix = shift;
39 $self->{path} .= ".$suffix";
40 }
41
42 sub save {
43 my $self = shift;
44 if ($self->{_buffer}) {
45 s2f($self->{path}, $self->{_buffer});
46 } else {
47 print "please load $self->{path} before saving.", "\n";
48 }
49 }
50
51 sub backup {
52 my $self = shift;
53 my $options = shift;
54 my $path = $self->{path};
55 $path .= '.' . $options->{suffix} if $options->{suffix};
56 s2f($path, $self->{_buffer_orig});
57 }
58
59 sub matches {
60 my $self = shift;
61 my $pattern = shift;
62 $self->_read();
63 my $eval = '$self->{_buffer} =~ ' . $pattern . ';';
64 if (eval($eval)) { return 1; }
65 }
66
67 1;
68 __END__

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed