The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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