NAME¶
KiokuDB::TypeMap - Class to collapsing/expanding logic.
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.