/usr/share/perl5/PlSense/Entity/Reference.pm is in plsense 0.3.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | package PlSense::Entity::Reference;
use parent qw{ PlSense::Entity };
use strict;
use warnings;
use Class::Std::Storable;
use PlSense::Logger;
use PlSense::Entity::Null;
{
my %entity_of :ATTR( :init_arg<entity> :default('') );
sub set_entity {
my ($self, $entity) = @_;
my $etext = eval { $entity->isa("PlSense::Entity") } ? $entity->to_string : $entity;
logger->debug("Set reference referenced : ".$etext);
$entity_of{ident $self} = $entity;
}
sub get_entity { my ($self) = @_; return $entity_of{ident $self}; }
sub BUILD {
my ($class, $ident, $arg_ref) = @_;
$class->set_type("reference");
}
sub to_string {
my $self = shift;
my $ret = "R<";
my $e = $self->get_entity;
$ret .= eval { $e->isa("PlSense::Entity") } ? $e->to_string : $e;
$ret .= ">";
return $ret;
}
sub clone {
my $self = shift;
my $ret = PlSense::Entity::Reference->new();
if ( eval { $entity_of{ident $self}->isa("PlSense::Entity") } ) {
$ret->set_entity( $entity_of{ident $self}->clone );
}
elsif ( $entity_of{ident $self} ) {
$ret->set_entity( $entity_of{ident $self} );
}
return $ret;
}
}
1;
__END__
|