Provided by: libkiokudb-perl_0.57-3_all
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
entries A hash of normal entries. isa_entries A hash of "$object->isa" based entries. includes A list of parent typemaps to inherit entries from.
METHODS
resolve $class Given a class returns the "KiokuDB::TypeMap::Entry" object corresponding to that class. Called by KiokuDB::TypeMap::Resolver resolve_entry $entry If the entry is an alias, it will be resolved recursively, and simply returned otherwise. all_entries Returns the merged "entries" from this typemap and all the included typemaps. all_isa_entries Returns the merged "isa_entries" from this typemap and all the included typemaps. all_isa_entry_classes 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.