NAME
Trustee - An persistance storage specialized on objects
SYNOPSIS
use class::examples::User;
use Object::Bouncer;
use Data::Dumper;
# not visible, but default tiewith is Apache::Session::MySQL
my $schatzmeister = new Object::Trustee();
# here an alternative
my $schatzmeister = new Object::Trustee(
tiewith => 'Apache::Session::File',
args => { Directory => 'c:/temp/sessiondata', LockDirectory => 'c:/temp/sessiondata/locks' }
);
print 'Session-ID: ', $schatzmeister->id, "\n\n";
my %gruppe = (
toni => new User( firstname => 'toni', email => 'toni@wrong' ),
eva => new User( firstname => 'eva', email => 'eva@any.de' ),
maren => new User( firstname => 'maren' )
);
print "\n", 'Users:';
print Dumper \%gruppe;
$schatzmeister->store( %gruppe );
# bouncer let filled email fields in....
my $emailtester = new Object::Bouncer( );
$emailtester->addtest(
new Object::Bouncer::Test( field => 'email', type => 'true' ),
);
my $list = $schatzmeister->retrieve( $emailtester );
# now, bouncer only leaves <valid> emails in...
print "\n\nUsers with email field filled:";
my $emailchecker = new Object::Bouncer( );
$emailchecker->addtest(
new Object::Bouncer::Test( field => 'email', type => 'email' ),
);
print Dumper $list;
my $list = $schatzmeister->retrieve( $emailchecker );
print "\n\nUsers with valid email:";
print Dumper $list;
DESCRIPTION
A Trustee keeps files for other people about other people. This files can be modified / requested. On the backend the trustee object uses Apache::Sesssion tied hashes. Object::Bouncer's objects are utilized when retrieving selectivly (i.e.filtering).
EXPORT
None by default.
PREREQUISITES
- Apache::Session::* to keep state.
- Object::Bouncer to retrieve selectivly
AUTHOR
Murat Uenalan, murat.uenalan@gmx.de
SEE ALSO
Verify, perl