| CQL-Parser documentation | Contained in the CQL-Parser distribution. |
CQL::ProxNode - represents a PROX node in a CQL parse tree
use CQL::ProxNode;
my $node = CQL::ProxNode->new( left => $left );
$node->addSecondTerm( $right );
Creates a new, incomplete, proximity node with the specified left-hand side. No right-hand side is specified at this stage: that must be specified later, using the addSecondSubterm() method. (That may seem odd, but it's just easier to write the parser that way.)
Proximity paramaters may be added at any time, before or after the right-hand-side sub-tree is added.
my $prox = CQL::ProxNode->new( $term );
| CQL-Parser documentation | Contained in the CQL-Parser distribution. |
package CQL::ProxNode; use strict; use warnings; use base qw( CQL::BooleanNode ); use CQL::ProxModifierSet;
sub new { my ($class,$left) = @_; my $self = $class->SUPER::new( left => $left, right => undef ); $self->{modifierSet} = CQL::ProxModifierSet->new( 'prox' ); return $self; }
sub addSecondTerm { my ($self,$term) = @_; $self->{right} = $term; }
sub addModifier { my ($self,$type,$value) = @_; $self->{modifierSet}->addModifier( $type, $value ); }
sub getModifiers { return shift->{modifierSet}->getModifiers(); }
sub op { return shift->{modifierSet}->toCQL(); }
sub opXCQL { my ($self,$level) = @_; return $self->{modifierSet}->toXCQL( $level, 'boolean' ); } 1;