Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Cell {
- private String stringVal;
- private Object valVal;
- private Transformer<?> trans;
- private Class<?> valClass;
- public String getStringVal(){
- return stringVal;
- }
- public boolean setStringVal(){
- //this not only set the value, but checks it with the transformer that it meets constraints and updates valVal too
- }
- public <T> T getValVal(){
- return (T) valVal;
- //This works, but I don't understand why
- }
- }
- public <T> T getTypedElem() {
- T output = (T) this.typedElem;
- System.out.println(output.getClass());
- return output;
- }
- public <T> T getTypedElem() {
- T output = null;
- try {
- output = (T) this.typedElem;
- System.out.println(output.getClass());
- } catch (ClassCastException e) {
- System.out.println("class cast caught");
- return null;
- }
- return output;
- }
- public <T> T getValue(Class<T> cls) {
- if (valVal == null) return null;
- else {
- if (cls.isInstance(valVal)) return cls.cast(valVal);
- return null;
- }
- }
- public Object getValVal() {
- return valVal;
- }
- public <T> void setObject(Transformer<T> transformer, T object) {}
- class Cell {
- String val
- def valVal
- }
- def cell = new Cell(val:"10.0")
- cell.valVal = cell.val as BigDecimal
- BigDecimal valVal = cell.valVal
- assert valVal.class == BigDecimal
- assert valVal == 10.0
- cell.val = "20"
- cell.valVal = cell.val as Integer
- Integer valVal2 = cell.valVal
- assert valVal2.class == Integer
- assert valVal2 == 20
Add Comment
Please, Sign In to add comment