NAME

KiokuDB::TypeMap::Entry - Role for KiokuDB::TypeMap entries

SYNOPSIS

package KiokuDB::TypeMap::Foo;
use Moose;

with qw(KiokuDB::TypeMap::Entry);

# or just use KiokuDB::TypeMap::Entry::Std

sub compile {
    ...
}

DESCRIPTION

This is the role consumed by all typemap entries.

REQUIRED METHODS

compile $class

This method is called by KiokuDB::TypeMap::Resolver for a given class, and should return two code references, one for collapsing and one for expanding.

The collapsing sub is called as a method on KiokuDB::Collapser and the expanding sub is called on KiokuDB::Linker.

The callbacks must call other KiokuDB::Collapser and KiokuDB::Linker methods to actually get the work done.

KiokuDB::TypeMap::Entry::Std provides a more concise way of defining typemap entries.