package Text::Placeholder::Group::URI;
use strict;
use warnings;
#use Carp qw();
#use Data::Dumper;
use URI;
use parent qw(
Text::Placeholder::Group::_
Object::By::Array);
sub THIS() { 0 }
sub ATR_PLACEHOLDERS() { 0 }
sub ATR_URI() { 1 }
my $PLACEHOLDERS = {
'uri_scheme' => sub { return($_[THIS][ATR_URI]->scheme)},
'uri_host' => sub { return($_[THIS][ATR_URI]->host)},
'uri_path' => sub { return($_[THIS][ATR_URI]->path)},
'uri_opaque' => sub { return($_[THIS][ATR_URI]->opaque)},
'uri_full' => sub { return($_[THIS][ATR_URI])},
};
sub _init {
$_[THIS][ATR_PLACEHOLDERS] = $PLACEHOLDERS;
$_[THIS][ATR_URI] = undef;
return;
}
sub P_URI() { 1 }
sub subject {
if(exists($_[P_URI])) {
$_[THIS][ATR_URI] = URI->new($_[P_URI]);
return;
} else {
return($_[THIS][ATR_URI]);
}
}
1;