NAME

KinoSearch::Search::PolyQuery - Base class for composite Query objects.

SYNOPSIS

sub walk {
    my $query = shift;
    if ( $query->isa("KinoSearch::Search::PolyQuery") ) {
        if    ( $query->isa("KinoSearch::Search::ORQuery") )  { ... }
        elsif ( $query->isa("KinoSearch::Search::ANDQuery") ) { ... }
        elsif ( $query->isa("KinoSearch::Search::RequiredOptionalQuery") ) {
            ...
        }
        elsif ( $query->isa("KinoSearch::Search::NOTQuery") ) { ... }
    }
    else { ... }
}

DESCRIPTION

PolyQuery serves as a shared base class for ANDQuery, ORQuery, NOTQuery, and RequiredOptionalQuery. All of these classes may serve as nodes in composite Query with a tree structure which may be walked.

INHERITANCE

KinoSearch::Search::PolyQuery isa KinoSearch::Search::Query isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE

Copyright 2005-2010 Marvin Humphrey

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