++ed by:
ASHLEY ARISTOTLE JETEVE MARKELLIS KEEDI
6 non-PAUSE users
Author image Nick Wellnhofer
and 1 contributors

NAME

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

SYNOPSIS

    sub walk {
        my $query = shift;
        if ( $query->isa("Lucy::Search::PolyQuery") ) {
            if    ( $query->isa("Lucy::Search::ORQuery") )  { ... }
            elsif ( $query->isa("Lucy::Search::ANDQuery") ) { ... }
            elsif ( $query->isa("Lucy::Search::RequiredOptionalQuery") ) {
                ...
            }
            elsif ( $query->isa("Lucy::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.

METHODS

add_child

    $poly_query->add_child($query);

Add a child Query node.

INHERITANCE

Lucy::Search::PolyQuery isa Lucy::Search::Query isa Clownfish::Obj.