Scroll to navigation

KiokuDB::TypeMap(3pm) User Contributed Perl Documentation KiokuDB::TypeMap(3pm)

NAME

KiokuDB::TypeMap - Class to collapsing/expanding logic.

VERSION

version 0.57

SYNOPSIS

    use KiokuDB::TypeMap;
    KiokuDB::TypeMap->new(
        entries => {
            'Foo' => KiokuDB::TypeMap::Entry::Naive->new,
        },
        isa_entries => {
            'My::Class' => KiokuDB::TypeMap::Entry::Naive->new,
        },
        includes => [
            $typemap_foo,
            $typemap_bar,
        ],
    );

DESCRIPTION

The KiokuDB typemap maps classes to KiokuDB::TypeMap::Entry objects.

The mapping is by class, and entries can be keyed normally (using "ref $object" equality) or by filtering on "$object->isa($class)" ("isa_entries").

ATTRIBUTES

A hash of normal entries.
A hash of "$object->isa" based entries.
A list of parent typemaps to inherit entries from.

METHODS

Given a class returns the "KiokuDB::TypeMap::Entry" object corresponding to that class.

Called by KiokuDB::TypeMap::Resolver

If the entry is an alias, it will be resolved recursively, and simply returned otherwise.
Returns the merged "entries" from this typemap and all the included typemaps.
Returns the merged "isa_entries" from this typemap and all the included typemaps.
An array reference of all the classes in "all_isa_entries", sorted from least derived to most derived.

AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-05-23 perl v5.34.0