The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Elive::Util::Type - Type introspection class

METHODS

new

       $type = Elive::Util::inspect_type('Elive::Entity::Participants');
       if ($type->is_array) {
           # ...
       }

Creates an object of type Elive::Util::Type.

is_struct

    Return true, if the type is an ancestor of Elive::DAO

is_ref

    Return true if the elemental_type is a reference; including objects.

is_array

Return an elemental class if objects are substantiated as arrays.

    my $type = Elive::Util::Type->new('Elive::Entity::Participants');
    print $type->is_array;
    # prints Elive::Entity::Participant

If the class is an array, the is_struct() and is_ref() methods inquire on the properties of the element class.

elemental_type

Returns the type of the class. For arrays, returns the array element class.

union

Return the full type union. For arrays, returns the union of all possible array element classes.

    my @types = Elive::Util::Type->new(' Elive::Entity::Group::Members')->union;
    #
    # group members may contain sub-groups, user objects, or packed strings
    is(\@types, [qw(Elive::Entity::Group Str)]);