| KiokuDB documentation | Contained in the KiokuDB distribution. |
KiokuDB::Reference - A symbolic reference to another KiokuDB::Entry.
my $ref = KiokuDB::Reference->new(
id => $some_id,
);
This object serves as an internal marker to point to entries by UID.
The linker resolves these references by searching the live object set and loading entries from the backend as necessary.
The ID this entry refers to
This reference is weak.
| KiokuDB documentation | Contained in the KiokuDB distribution. |
#!/usr/bin/perl package KiokuDB::Reference; use Moose; use namespace::clean -except => 'meta'; with qw(MooseX::Clone); has id => ( isa => "Str", is => "rw", required => 1, ); has is_weak => ( isa => "Bool", is => "rw", ); sub STORABLE_freeze { my ( $self, $cloning ) = @_; join(",", $self->id, !!$self->is_weak); # FIXME broken } sub STORABLE_thaw { my ( $self, $cloning, $serialized ) = @_; my ( $id, $weak ) = ( $serialized =~ /^(.*?),(1?)$/ ); $self->id($id); $self->is_weak(1) if $weak; return $self; } __PACKAGE__->meta->make_immutable; __PACKAGE__ __END__