=head1 NAME ResourcePool::Resource - A L wrapper class for a resource =head1 SYNOPSIS use ResourcePool::Resource; my $resource = ResourcePool::Resource->new(); =head1 DESCRIPTION This class is a base class for the resources which will be used with L. L uses this class internally to have a unique interface to interact with the resource. Each ResourcePool::Resource class gets constructed by the corresponding L class. In fact the Factory classes are just used to store the parameters which are required to construct a resource. Every class which is derived from ResourcePool::Resource must override the L, L and L methods and should override at least one of L or L. =head2 S<$resource-Eclose> Closes a connection gracefully. B undef =head2 S<$resource-Efail_close> Closes a failed connection and ignores error (since this connection is known to be broken) B undef =head2 S<$resource-Eget_plain_resource> Returns the naked resource which can be used by the client. This is the L or L handle for example. B a reference to a object =head2 S<$resource-Eprecheck> Checks a connection. This method is called by the L before it returns a connection. The default implementation always returns true. B true if the connection is valid =head2 S<$resource-Epostcheck> Checks a connection. This method is called by the L to check if a connection is still valid. The default implementation always returns true. B true if the connection is valid =head1 SEE ALSO L, L, L =head1 AUTHOR Copyright (C) 2001-2005 by Markus Winand This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.