| Net-LDAP-Batch documentation | Contained in the Net-LDAP-Batch distribution. |
Net::LDAP::Batch::Action - base class for LDAP actions
use Net::LDAP::Batch::Action;
my $action = Net::LDAP::Batch::Action->new(
{
ldap => $net_ldap_object,
});
$action->execute or $action->rollback;
This is a base class for batch actions.
NOTE: Net::LDAP::Batch::Action objects will croak() if anything unusual happens. This approach assumes that Catastrophic Failure is a Good Thing. So use eval() if you need to catch exceptions.
Overrides base Class::Accessor::Fast constructor to call init().
This class defines the following accessor methods, all of which can be set via new() or by themselves.
ldap
entry
complete
debug
Confirms that the ldap() accessor returns a Net::LDAP-derived object.
Perform the action. Default behaviour is to croak indicating you must override the method in your subclass.
Undo the action. Default behaviour is to croak indicating you must override the method in your subclass.
Returns the stringified error message for the ldap_msg object.
Peter Karman, <karman at cpan.org>
Please report any bugs or feature requests to
bug-net-ldap-batch at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-LDAP-Batch.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Net::LDAP::Batch
You can also look for information at:
The Minnesota Supercomputing Institute http://www.msi.umn.edu/
sponsored the development of this software.
Copyright 2008 by the Regents of the University of Minnesota. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Net::LDAP::Batch
| Net-LDAP-Batch documentation | Contained in the Net-LDAP-Batch distribution. |
package Net::LDAP::Batch::Action; use strict; use warnings; use Carp; use base qw( Class::Accessor::Fast ); our $VERSION = '0.02'; __PACKAGE__->mk_accessors(qw( ldap entry complete debug ));
sub new { my $class = shift; my $self = $class->SUPER::new(@_); $self->init; return $self; }
sub init { my $self = shift; if ( !$self->ldap or !$self->ldap->isa('Net::LDAP') ) { croak "Net::LDAP object required"; } $self->debug(1) if $ENV{PERL_DEBUG}; return $self; }
sub execute { croak "must override execute()" }
sub rollback { croak "must override rollback()" }
sub get_ldap_err { my $self = shift; my $msg = shift or croak "ldap_msg required"; my $str = "\n" . join( "\n", "Return code: " . $msg->code, "Message: " . $msg->error_name, " :" . $msg->error_text, "MessageID: " . $msg->mesg_id, "DN: " . $msg->dn, ) . "\n"; return $str; } 1; __END__