Peter Karman > Search-Query > Search::Query::Dialect

Download:
Search-Query-0.304.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.304   Source  

NAME ^

Search::Query::Dialect - abstract base class for query language dialects

SYNOPSIS ^

 my $query = Search::Query->parser->parse('foo');
 print $query;

DESCRIPTION ^

Search::Query::Dialect is the base class from which all query dialects inherit.

A Dialect subclass must implement at least two methods:

stringify

Returns the serialized query tree.

stringify_clause( leaf )

Returns one clause of a serialized query tree.

See Search::Query::Dialect::Native for a working example.

METHODS ^

This class is a subclass of Rose::ObjectX::CAF. Only new or overridden methods are documented here.

debug

Get/set flag.

default_field

Standard attribute accessor. Default value is undef.

init

DEPRECATED. Use BUILD() instead.

stringify

All subclasses must override this method. The default behavior is to croak.

tree

Returns the query Dialect instance as a hashref structure, similar to that of Search::QueryParser.

walk( CODE )

Traverse a Dialect object, calling CODE on each Clause. The CODE reference should expect 4 arguments:

translate_to( dialect )

Translate from one Dialect to another. Returns an object blessed into the dialect class.

add_or_clause( clause )

Add clause as an "or" leaf to the Dialect object.

add_and_clause( clause )

Add clause as an "and" leaf to the Dialect object.

add_not_clause( clause )

Add clause as a "not" leaf to the Dialect object.

add_sub_clause( clause )

Add clause as a sub clause to the Dialect object. In this case, clause should also be a Dialect object.

field_class

Should return the name of the Field class associated with the Dialect. Default is 'Search::Query::Field'.

get_default_field

Returns the default field for this Dialect.

get_field( field_name )

Returns a Field object instance for field_name. The object will be an instance of field_class.

This is a shorthand wrapper around the method of the same name in the internal parser object.

preprocess( query_string )

Called by Parser in parse() before actually building the Dialect object from query_string.

This allows for any "cleaning up" or other munging of query_string to support the official Parser syntax.

The default just returns query_string untouched. Subclasses should return a parseable string.

parser

Returns the Search::Query::Parser object that generated the Dialect object.

AUTHOR ^

Peter Karman, <karman at cpan.org>

BUGS ^

Please report any bugs or feature requests to bug-search-query at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Search-Query. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Search::Query

You can also look for information at:

COPYRIGHT & LICENSE ^

Copyright 2010 Peter Karman.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

syntax highlighting: