1 |
package SWE::DB::IDText; |
2 |
use strict; |
3 |
|
4 |
require SWE::DB::IDProps; |
5 |
push our @ISA, 'SWE::DB::IDProps'; |
6 |
|
7 |
sub new ($) { |
8 |
my $self = shift->SUPER::new (@_); |
9 |
$self->{leaf_suffix} = '.txt'; |
10 |
return $self; |
11 |
} # new |
12 |
|
13 |
sub get_data ($$) { |
14 |
my $self = shift; |
15 |
my $file_name = $self->_get_file_name ($_[0]); |
16 |
|
17 |
unless (-f $file_name) { |
18 |
return undef; |
19 |
} |
20 |
|
21 |
open my $file, '<:encoding(utf8)', $file_name or die "$0: $file_name: $!"; |
22 |
local $/ = undef; |
23 |
return \ (<$file>); |
24 |
} # get_data |
25 |
|
26 |
sub set_data ($$$) { |
27 |
my $self = shift; |
28 |
my $file_name = $self->_get_file_name ($_[0], 1); |
29 |
my $textref = $_[1]; |
30 |
|
31 |
open my $file, '>:encoding(utf8)', $file_name or die "$0: $file_name: $!"; |
32 |
print $file $$textref; |
33 |
close $file; |
34 |
|
35 |
$self->{version_control}->add_file ($file_name) if $self->{version_control}; |
36 |
} # set_data |
37 |
|
38 |
1; |