Revision 44790 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
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 org.gvsig.tools.ToolsLocator; |
|
26 |
import org.gvsig.tools.dataTypes.Coercion; |
|
27 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
|
25 | 28 |
|
26 | 29 |
@SuppressWarnings({"UseSpecificCatch" ,"OverridableMethodCallInConstructor"}) |
27 | 30 |
public class DefaultExpressionBuilder implements ExpressionBuilder { |
... | ... | |
791 | 794 |
} |
792 | 795 |
|
793 | 796 |
@Override |
797 |
public Constant constant(Object value, Class theClass) { |
|
798 |
try { |
|
799 |
DataTypesManager dataTypeManager = ToolsLocator.getDataTypesManager(); |
|
800 |
Coercion coercion = dataTypeManager.getDataType(theClass).getCoercion(); |
|
801 |
return this.constant(coercion.coerce(value)); |
|
802 |
} catch (Exception ex) { |
|
803 |
throw new RuntimeException("Can't coerce value ("+Objects.toString(value)+") to "+theClass.getSimpleName()+".", ex); |
|
804 |
} |
|
805 |
} |
|
806 |
|
|
807 |
@Override |
|
808 |
public Constant constant(Object value, int type) { |
|
809 |
try { |
|
810 |
DataTypesManager dataTypeManager = ToolsLocator.getDataTypesManager(); |
|
811 |
Coercion coercion = dataTypeManager.getCoercion(type); |
|
812 |
return this.constant(coercion.coerce(value)); |
|
813 |
} catch (Exception ex) { |
|
814 |
throw new RuntimeException("Can't coerce value ("+Objects.toString(value)+") to "+type+".", ex); |
|
815 |
} |
|
816 |
} |
|
817 |
|
|
818 |
@Override |
|
794 | 819 |
public Group group(Value value) { |
795 | 820 |
return new GroupBase(value); |
796 | 821 |
} |
Also available in: Unified diff