use strict;
@Net::RRP::Request::Del::ISA = qw(Net::RRP::Request);
$Net::RRP::Request::Del::VERSION = '0.1';
=head1 NAME
Net::RRP::Request::Del - rrp delete request representation.
=head1 SYNOPSIS
use Net::RRP::Request::Del;
my $deleteRequest = new Net::RRP::Request::Del
( entity => new Net::RRP::Entity::Domain ( DomainName => [ 'domain.ru' ] ) );
my $deleteRequest1 = new Net::RRP::Request::Del ();
$deleteRequest1->setEntity ( new Net::RRP::Entity::Domain ( DomainName => [ 'domain.ru' ] ) );
=head1 DESCRIPTION
This is a rrp delete request representation class.
=cut
=head2 getName
return a 'Del'
=cut
sub getName { 'Del' };
=head2 setEntity
throw Net::RRP::Exception::InvalidEntityValue unless entity is Net::RRP::Entity::Domain or Net::RRP::Entity::NameServer
=cut
sub setEntity
{
my ( $this, $entity ) = @_;
my $ref = ref ( $entity ) || throw Net::RRP::Exception::InvalidEntityValue ();
{ 'Net::RRP::Entity::Domain' => 1,
'Net::RRP::Entity::NameServer' => 1,
'Net::RRP::Entity::Registrar' => 1,
'Net::RRP::Entity::Replica' => 1,
'Net::RRP::Entity::Owner' => 1,
'Net::RRP::Entity::Contact' => 1 }->{ $ref } || throw Net::RRP::Exception::InvalidEntityValue ();
$this->SUPER::setEntity ( $entity );
}
=head2 setOption
Pass to parent method for Registrar and Serial options,
throw Net::RRP::Exception::InvalidCommandOption () immediate if other option
=cut
sub setOption
{
my ( $this, $key, $value ) = @_;
return $this->SUPER::setOption ( $key => $value ) if lc ( $key ) eq 'registrar';
return $this->SUPER::setOption ( $key => $value ) if lc ( $key ) eq 'serial';
throw Net::RRP::Exception::InvalidCommandOption ();
}
=head1 AUTHOR AND COPYRIGHT
Net::RRP::Request::Del (C) Michael Kulakov, Zenon N.S.P. 2000
125124, 19, 1-st Jamskogo polja st,
Moscow, Russian Federation
mkul@cpan.org
All rights reserved.
You may distribute this package under the terms of either the GNU
General Public License or the Artistic License, as specified in the
Perl README file.
=head1 SEE ALSO
L<Net::RRP::Request(3)>, L<Net::RRP::Codec(3)>, L<Net::RRP::Entity::Domain(3)>,
L<Net::RRP::Entity::NameServer(3)>, RFC 2832,
L<Net::RRP::Exception::InvalidEntityValue(3)>,
L<Net::RRP::Exception::InvalidCommandOption(3)>,
=cut
1;
__END__