use strict;
use warnings;
+=head1 NAME
+
+ Koha::QueryParser::Driver::PQF::Util - Utility module for PQF QueryParser driver
+
+=head1 FUNCTIONS
+
+=head2 attributes_to_attr_string
+
+ Koha::QueryParser::Driver::PQF::Util(%attributes);
+
+ Koha::QueryParser::Driver::PQF::Util({ '1' => '1003', '4' => '6' });
+
+Convert a hashref with a Bib-1 mapping into its PQF string representation.
+
+=cut
+
sub attributes_to_attr_string {
my ($attributes) = @_;
my $attr_string = '';
my $opname = shift;
my $op = shift;
- return undef unless ($opname);
+ return unless ($opname);
$parser_config{$class}{operators} ||= {};
$parser_config{$class}{operators}{$opname} = $op if ($op);
sub QueryParser {
my $self = shift;
- return undef unless ref($self);
+ return unless ref($self);
return $self->{QueryParser};
}
my $right_filter = shift;
my $join = shift;
- return undef unless $left_filter or $right_filter;
+ return unless $left_filter or $right_filter;
return $right_filter unless $left_filter;
return $left_filter unless $right_filter;
sub find_filter {
my $self = shift;
my $needle = shift;;
- return undef unless ($needle);
+ return unless ($needle);
my $filter = $self->collapse_filters($needle);
sub find_modifier {
my $self = shift;
my $needle = shift;;
- return undef unless ($needle);
+ return unless ($needle);
return grep { $_->name eq $needle } @{ $self->modifiers };
}
sub node {
my $self = shift;
- return undef unless (ref $self);
+ return unless (ref $self);
return $self->{node};
}
sub content {
my $self = shift;
- return undef unless (ref $self);
+ return unless (ref $self);
return $self->{content};
}
sub prefix {
my $self = shift;
- return undef unless (ref $self);
+ return unless (ref $self);
return $self->{prefix};
}
sub suffix {
my $self = shift;
- return undef unless (ref $self);
+ return unless (ref $self);
return $self->{suffix};
}