package WebService::Technorati::LinkQuerySubject; use strict; use utf8; use fields qw(blog rankingstart); use WebService::Technorati::Blog; use WebService::Technorati::BaseTechnoratiObject; use base 'WebService::Technorati::BaseTechnoratiObject'; BEGIN { use vars qw ($VERSION $DEBUG); $VERSION = 0.04; $DEBUG = 0; } =head2 getBlog Usage : getBlog(); Purpose : Returns : a scalar WebService::Technorati::Blog Argument : none Throws : none Comments : See Also : WebService::Technorati =cut =head2 setBlog Usage : setBlog(blog); Purpose : Returns : void Argument : a scalar WebService::Technorati::Blog Throws : none Comments : See Also : WebService::Technorati =cut =head2 getRankingstart Usage : getRankingstart(); Purpose : Returns : a scalar string Argument : none Throws : none Comments : See Also : WebService::Technorati =cut =head2 setRankingstart Usage : setRankingstart(string); Purpose : Returns : void Argument : a scalar string Throws : none Comments : See Also : WebService::Technorati =cut { my %_attrs = ( blog => undef, inboundlinks => undef, inboundblogs => undef, url => undef, rankingstart => undef ); sub _accessible { if ($DEBUG) { print __PACKAGE__ . ": checking for attr [$_[1]]\n"; } return exists($_attrs{$_[1]}); } } sub new_from_node { my $class = shift; my $node = shift; my $blog_node = $node->find('weblog')->pop; my $data = { rankingstart => $node->findvalue('rankingstart')->string_value, inboundlinks => $node->findvalue('inboundlinks')->string_value, inboundblogs => $node->findvalue('inboundblogs')->string_value, url => $node->findvalue('url')->string_value }; if ($blog_node) { $data->{'blog'} = WebService::Technorati::Blog->new_from_node($blog_node); } my $self = bless ($data, ref ($class) || $class); return $self; } 1;