NAME

Search::Query::Field - base class for query fields

SYNOPSIS

my $field = Search::Query::Field->new( 
   name        => 'foo',
   alias_for   => [qw( bar bing )], 
);

DESCRIPTION

Search::Query::Field is a base class for implementing field validation and aliasing in search queries.

METHODS

name

Get/set the name of the field.

alias_for

Get/set the alternate names for the field. Can be a string or array ref.

callback

Standard attribute accessor. Expects a CODE reference.

If defined on a Field object, the callback is invoked whenever a Clause is stringified or serialized. The CODE reference should expect 3 arguments: the field name, the operator and the value. It should return a serialized or serializable value. Example:

$field->callback(sub {
    my ($field, $op, $value) = @_;
    return "$field $op $value";
});

validate( field_value )

The base method always returns true.

error

Get/set the error string for the Field object. The return value of this method is included by the Parser in any error message whenever validate() returns false.

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:

ACKNOWLEDGEMENTS

This module started as a fork of Search::QueryParser by Laurent Dami.

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.