CQL::ProxNode - represents a PROX node in a CQL parse tree


CQL-Parser documentation Contained in the CQL-Parser distribution.

Index


Code Index:

NAME

Top

CQL::ProxNode - represents a PROX node in a CQL parse tree

SYNOPSIS

Top

    use CQL::ProxNode;
    my $node = CQL::ProxNode->new( left => $left );
    $node->addSecondTerm( $right );

DESCRIPTION

Top

METHODS

Top

new()

Top

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 );

addSecondTerm()

addModifier()

getModifiers()

op()

opXCQL()


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;