NAME

Net::RRP::Entity - rrp entity abstraction class

SYNOPSIS

use Net::RRP::Entity;
my $entity = new Net::RRP::Entity();

DESCRIPTION

This is a base class for all Entity::* classes.

new

This is a constructor. Example:

use Net::RRP::Entity;
my $entity = new Net::RRP::Entity();
my $entity1 = new Net::RRP::Entity( key => [ 'value' ] );

getName

Return a *real* name of this entity. You must overwrite this method at child class. Example:

my $entityName = $entity->getName();
print STDERR "EntityName is $entityName\n";

setAttribute

Setup attribte with name $attributeName to a $attributeValue. $attributeValue must be a array ref. Example:

$entity->setAttribute ( $attributeName, $attributeValue );
$entity->setAttribute ( 'DomainName', [ 'test.ru' ] );
$entity->setAttribute ( 'NameServer', [ 'ns1.ttt.ru', 'ns2.qqq.ru' ] );

getAttribute

Return a value of $attributeName attribute. Example:

print STDERR $entity->getAttribute ( 'NameServer' )->[ 0 ];

Can throw Net::RRP::Exception::MissingRequiredAttribute exception

getAttributes

Return the hash ref of the all entity attributes. Example:

my $attributes = $entity->getAttributes();
foreach my $attributeName ( keys %$attributes )
{
     print $attributeName . ' ' . $attributes->{ $$attributeName }->[ 0 ];
}

getPrimaryAttributeValue

return a "primary" attribute value

AUTHOR AND COPYRIGHT

Net::RRP::Entity (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.

SEE ALSO

Net::RRP::Request(3), Net::RRP::Response(3), Net::RRP::Codec(3), RFC 2832, Net::RRP::Exception::MissingRequiredAttribute(3)