/usr/local/CPAN/TripleStore/TripleStore/Query/Criterion.pm
# -------------------------------------------------------------------------------------
# TripleStore::Query::Criterion
# -------------------------------------------------------------------------------------
#
# Author : Jean-Michel Hiver (jhiver@mkdoc.com).
# Version : $Id: Criterion.pm,v 1.1.1.1 2003/01/13 18:20:40 jhiver Exp $
#
# Description:
#
# A criterion is a (operator, value) pair object.
#
# -------------------------------------------------------------------------------------
package TripleStore::Query::Criterion;
use strict;
use warnings;
use Carp;
sub new
{
my $class = shift;
$class = ref $class || $class;
unshift @_, 'eq' if (@_ < 2);
push @_, undef if (@_ < 2);
return bless [ @_ ], $class;
}
sub is_numeric_operator
{
my $self = shift;
$self->[0] eq '==' and return 1;
$self->[0] eq '!=' and return 1;
$self->[0] eq '<=' and return 1;
$self->[0] eq '>=' and return 1;
$self->[0] eq '<' and return 1;
$self->[0] eq '>' and return 1;
return 0;
}
sub operator
{
my $self = shift;
return $self->[0];
}
sub value
{
my $self = shift;
return $self->[1];
}
1;
__END__