Revision 44207 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultCodeBuilder.java
DefaultCodeBuilder.java | ||
---|---|---|
19 | 19 |
import org.gvsig.expressionevaluator.CodeBuilder; |
20 | 20 |
import org.gvsig.expressionevaluator.Codes; |
21 | 21 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
22 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_ADD; |
|
23 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_AND; |
|
24 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_CONCAT; |
|
25 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_DIV; |
|
26 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_EQ; |
|
27 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_GE; |
|
28 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_GT; |
|
29 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_ILIKE; |
|
30 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_IS; |
|
31 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_LE; |
|
32 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_LIKE; |
|
33 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_LT; |
|
34 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_MOD; |
|
35 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_MULT; |
|
36 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_NE; |
|
37 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_NEGATE; |
|
38 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_NOT; |
|
39 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_OR; |
|
40 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_REGEXP; |
|
41 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_SUBST; |
|
22 | 42 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Value; |
23 | 43 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
24 | 44 |
import org.gvsig.expressionevaluator.Formatter; |
25 | 45 |
import org.gvsig.expressionevaluator.Function; |
26 | 46 |
import org.gvsig.expressionevaluator.Interpreter; |
27 | 47 |
import org.gvsig.expressionevaluator.SymbolTable; |
28 |
import org.gvsig.expressionevaluator.impl.function.operator.AddOperator; |
|
29 |
import org.gvsig.expressionevaluator.impl.function.operator.AndOperator; |
|
30 |
import org.gvsig.expressionevaluator.impl.function.operator.ConcatOperator; |
|
31 |
import org.gvsig.expressionevaluator.impl.function.operator.DivOperator; |
|
32 |
import org.gvsig.expressionevaluator.impl.function.operator.EqOperator; |
|
33 |
import org.gvsig.expressionevaluator.impl.function.operator.GeOperator; |
|
34 |
import org.gvsig.expressionevaluator.impl.function.operator.GtOperator; |
|
35 |
import org.gvsig.expressionevaluator.impl.function.operator.IsOperator; |
|
36 |
import org.gvsig.expressionevaluator.impl.function.operator.LeOperator; |
|
37 |
import org.gvsig.expressionevaluator.impl.function.operator.LtOperator; |
|
38 |
import org.gvsig.expressionevaluator.impl.function.operator.ModOperator; |
|
39 |
import org.gvsig.expressionevaluator.impl.function.operator.MulOperator; |
|
40 |
import org.gvsig.expressionevaluator.impl.function.operator.NeOperator; |
|
41 |
import org.gvsig.expressionevaluator.impl.function.operator.NegOperator; |
|
42 |
import org.gvsig.expressionevaluator.impl.function.operator.NotOperator; |
|
43 |
import org.gvsig.expressionevaluator.impl.function.operator.OrOperator; |
|
44 |
import org.gvsig.expressionevaluator.impl.function.operator.RegExpOperator; |
|
45 |
import org.gvsig.expressionevaluator.impl.function.operator.SubstOperator; |
|
46 |
import org.gvsig.expressionevaluator.impl.function.predicate.IlikeOperator; |
|
47 |
import org.gvsig.expressionevaluator.impl.function.predicate.LikeOperator; |
|
48 | 48 |
import org.gvsig.expressionevaluator.impl.function.programming.GetattrFunction; |
49 | 49 |
import org.gvsig.expressionevaluator.impl.function.programming.GetitemFunction; |
50 | 50 |
import org.gvsig.fmap.geom.Geometry; |
... | ... | |
417 | 417 |
switch(this.type) { |
418 | 418 |
case UNARY_OPERATOR: |
419 | 419 |
return builder.function( |
420 |
NegOperator.NAME.equalsIgnoreCase(this.name())?
|
|
420 |
OPERATOR_NEGATE.equalsIgnoreCase(this.name())?
|
|
421 | 421 |
"-" : |
422 | 422 |
this.name(), |
423 | 423 |
this.parameters().get(0).toValue(builder) |
... | ... | |
455 | 455 |
StringBuilder builder = new StringBuilder(); |
456 | 456 |
switch(this.type) { |
457 | 457 |
case UNARY_OPERATOR: |
458 |
if( NegOperator.NAME.equalsIgnoreCase(this.name()) ) {
|
|
458 |
if( OPERATOR_NEGATE.equalsIgnoreCase(this.name()) ) {
|
|
459 | 459 |
builder.append("-"); |
460 | 460 |
} else { |
461 | 461 |
builder.append(this.name()); |
... | ... | |
617 | 617 |
|
618 | 618 |
@Override |
619 | 619 |
public Code not(Code op1) { |
620 |
return operator(NotOperator.NAME, op1);
|
|
620 |
return operator(OPERATOR_NOT, op1);
|
|
621 | 621 |
} |
622 | 622 |
|
623 | 623 |
@Override |
624 | 624 |
public Code negate(Code op1) { |
625 |
return operator(NegOperator.NAME, op1);
|
|
625 |
return operator(OPERATOR_NEGATE, op1);
|
|
626 | 626 |
} |
627 | 627 |
|
628 | 628 |
@Override |
629 | 629 |
public Code concat(Code op1, Code op2) { |
630 |
return operator(ConcatOperator.NAME, op1, op2);
|
|
630 |
return operator(OPERATOR_CONCAT, op1, op2);
|
|
631 | 631 |
} |
632 | 632 |
|
633 | 633 |
@Override |
634 | 634 |
public Code add(Code op1, Code op2) { |
635 |
return operator(AddOperator.NAME, op1, op2);
|
|
635 |
return operator(OPERATOR_ADD, op1, op2);
|
|
636 | 636 |
} |
637 | 637 |
|
638 | 638 |
@Override |
639 | 639 |
public Code subst(Code op1, Code op2) { |
640 |
return operator(SubstOperator.NAME, op1, op2);
|
|
640 |
return operator(OPERATOR_SUBST, op1, op2);
|
|
641 | 641 |
} |
642 | 642 |
|
643 | 643 |
@Override |
644 | 644 |
public Code mult(Code op1, Code op2) { |
645 |
return operator(MulOperator.NAME, op1, op2);
|
|
645 |
return operator(OPERATOR_MULT, op1, op2);
|
|
646 | 646 |
} |
647 | 647 |
|
648 | 648 |
@Override |
649 | 649 |
public Code div(Code op1, Code op2) { |
650 |
return operator(DivOperator.NAME, op1, op2);
|
|
650 |
return operator(OPERATOR_DIV, op1, op2);
|
|
651 | 651 |
} |
652 | 652 |
|
653 | 653 |
@Override |
654 | 654 |
public Code mod(Code op1, Code op2) { |
655 |
return operator(ModOperator.NAME, op1, op2);
|
|
655 |
return operator(OPERATOR_MOD, op1, op2);
|
|
656 | 656 |
} |
657 | 657 |
|
658 | 658 |
@Override |
659 | 659 |
public Code or(Code op1, Code op2) { |
660 |
return operator(OrOperator.NAME, op1, op2);
|
|
660 |
return operator(OPERATOR_OR, op1, op2);
|
|
661 | 661 |
} |
662 | 662 |
|
663 | 663 |
@Override |
664 | 664 |
public Code and(Code op1, Code op2) { |
665 |
return operator(AndOperator.NAME, op1, op2);
|
|
665 |
return operator(OPERATOR_AND, op1, op2);
|
|
666 | 666 |
} |
667 | 667 |
|
668 | 668 |
@Override |
669 | 669 |
public Code like(Code op1, Code op2) { |
670 |
return operator(LikeOperator.NAME, op1, op2);
|
|
670 |
return operator(OPERATOR_LIKE, op1, op2);
|
|
671 | 671 |
} |
672 | 672 |
|
673 | 673 |
@Override |
674 | 674 |
public Code ilike(Code op1, Code op2) { |
675 |
return operator(IlikeOperator.NAME, op1, op2);
|
|
675 |
return operator(OPERATOR_ILIKE, op1, op2);
|
|
676 | 676 |
} |
677 | 677 |
|
678 | 678 |
@Override |
679 | 679 |
public Code regexp(Code op1, Code op2) { |
680 |
return operator(RegExpOperator.NAME, op1, op2);
|
|
680 |
return operator(OPERATOR_REGEXP, op1, op2);
|
|
681 | 681 |
} |
682 | 682 |
|
683 | 683 |
@Override |
684 | 684 |
public Code lt(Code op1, Code op2) { |
685 |
return operator(LtOperator.NAME, op1, op2);
|
|
685 |
return operator(OPERATOR_LT, op1, op2);
|
|
686 | 686 |
} |
687 | 687 |
|
688 | 688 |
@Override |
689 | 689 |
public Code gt(Code op1, Code op2) { |
690 |
return operator(GtOperator.NAME, op1, op2);
|
|
690 |
return operator(OPERATOR_GT, op1, op2);
|
|
691 | 691 |
} |
692 | 692 |
|
693 | 693 |
@Override |
694 | 694 |
public Code le(Code op1, Code op2) { |
695 |
return operator(LeOperator.NAME, op1, op2);
|
|
695 |
return operator(OPERATOR_LE, op1, op2);
|
|
696 | 696 |
} |
697 | 697 |
|
698 | 698 |
@Override |
699 | 699 |
public Code ge(Code op1, Code op2) { |
700 |
return operator(GeOperator.NAME, op1, op2);
|
|
700 |
return operator(OPERATOR_GE, op1, op2);
|
|
701 | 701 |
} |
702 | 702 |
|
703 | 703 |
@Override |
704 | 704 |
public Code eq(Code op1, Code op2) { |
705 |
return operator(EqOperator.NAME, op1, op2);
|
|
705 |
return operator(OPERATOR_EQ, op1, op2);
|
|
706 | 706 |
} |
707 | 707 |
|
708 | 708 |
@Override |
709 | 709 |
public Code ne(Code op1, Code op2) { |
710 |
return operator(NeOperator.NAME, op1, op2);
|
|
710 |
return operator(OPERATOR_NE, op1, op2);
|
|
711 | 711 |
} |
712 | 712 |
|
713 | 713 |
@Override |
714 | 714 |
public Code is(Code op1, Code op2) { |
715 |
return operator(IsOperator.NAME, op1, op2);
|
|
715 |
return operator(OPERATOR_IS, op1, op2);
|
|
716 | 716 |
} |
717 | 717 |
|
718 | 718 |
@Override |
Also available in: Unified diff