Revision 44769 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/DefaultExpressionBuilder.java

View differences:

DefaultExpressionBuilder.java
22 22
import org.gvsig.expressionevaluator.ExpressionUtils;
23 23
import org.gvsig.expressionevaluator.Formatter;
24 24
import org.gvsig.expressionevaluator.ReprMethod;
25
import static org.gvsig.expressionevaluator.ExpressionBuilder.BASE_FORMATTER;
26 25

  
27 26
@SuppressWarnings({"UseSpecificCatch" ,"OverridableMethodCallInConstructor"})
28 27
public class DefaultExpressionBuilder implements ExpressionBuilder {
......
55 54
    private static final String FORMAT_OPERATOR_DIV = "({0} / {1})";
56 55
    private static final String FORMAT_OPERATOR_CONCAT = "{0} || {1}";
57 56

  
58
    public static class GroupBase extends AbstractValue implements Group {
57
    public class GroupBase extends AbstractValue implements Group {
59 58

  
60 59
        protected Value value;
61 60

  
......
85 84

  
86 85
        @Override
87 86
        public String toString() {
88
            return this.toString(BASE_FORMATTER);
87
            return this.toString(formatter());
89 88
        }
90 89
        
91 90
        @Override
......
97 96
        }
98 97
    }
99 98

  
100
    public static class VariableBase extends AbstractValue implements Variable {
99
    public class VariableBase extends AbstractValue implements Variable {
101 100

  
102 101
        protected String name;
103 102
        protected ExpressionBuilder builder;
......
114 113

  
115 114
        @Override
116 115
        public String toString() {
117
            return this.toString(BASE_FORMATTER);
116
            return this.toString(formatter());
118 117
        }
119 118
        
120 119
        @Override
......
146 145
        }
147 146
    }
148 147

  
149
    public static class ParameterBase extends AbstractValue implements Parameter {
148
    public class ParameterBase extends AbstractValue implements Parameter {
150 149

  
151 150
        protected String name;
152 151
        protected Object value;
......
242 241

  
243 242
        @Override
244 243
        public String toString() {
245
            return this.toString(BASE_FORMATTER);
244
            return this.toString(formatter());
246 245
        }
247 246
        
248 247
        @Override
......
261 260
        }
262 261
    }
263 262

  
264
    public static class ConstantBase extends AbstractValue implements Constant {
263
    public class ConstantBase extends AbstractValue implements Constant {
265 264

  
266 265
        protected Object value;
267 266
        protected ExpressionBuilder builder;
......
278 277

  
279 278
        @Override
280 279
        public String toString() {
281
            return this.toString(BASE_FORMATTER);
280
            return this.toString(formatter());
282 281
        }
283 282
        
284 283
        @Override
......
308 307
        }
309 308
    }
310 309

  
311
    public static class CustomBase extends AbstractValue implements Custom {
310
    public class CustomBase extends AbstractValue implements Custom {
312 311

  
313 312
        protected Object value;
314 313

  
......
370 369

  
371 370
        @Override
372 371
        public String toString() {
373
            return this.toString(BASE_FORMATTER);
372
            return this.toString(formatter());
374 373
        }
375 374
        
376 375
        @Override
......
382 381
        }
383 382
    }
384 383

  
385
    public static class FunctionBase extends AbstractValue implements Function {
384
    public class FunctionBase extends AbstractValue implements Function {
386 385

  
387 386
        protected String name;
388 387
        protected String format;
......
406 405
        }
407 406

  
408 407
        @Override
408
        public Function format(String format) {
409
          this.format = format;
410
          return this;
411
        }
412

  
413
        @Override
409 414
        public Function parameter(Value parameter) {
410 415
            this.parameters().add(parameter);
411 416
            return this;
......
444 449
        
445 450
        @Override
446 451
        public String toString() {
447
            return this.toString(BASE_FORMATTER);
452
            return this.toString(formatter());
448 453
        }
449 454
        
450 455
        @Override
......
601 606

  
602 607
        @Override
603 608
        public String toString() {
604
            return this.toString(BASE_FORMATTER);
609
            return this.toString(formatter());
605 610
        }
606 611
        
607 612
        @Override
......
631 636

  
632 637
    protected Value value;
633 638
    protected ExpressionEvaluatorManager manager;
639
    protected Formatter<ExpressionBuilder.Value> formatter;
634 640

  
635 641
    public DefaultExpressionBuilder(ExpressionEvaluatorManager manager) {
636 642
        this.manager = manager;
637 643
    }
644
    
645
    @Override
646
    public Formatter<ExpressionBuilder.Value> formatter() {
647
      if( this.formatter == null ) {
648
        this.formatter = this.manager.getExpressionBuilderFormatter();
649
      }
650
      return this.formatter;
651
    }
638 652

  
639 653
    @Override
640 654
    public boolean isEmpty() {

Also available in: Unified diff