public VariableResolver getVariableResolver(String name) { VariableResolver vr = variableResolvers.get(name); if (vr != null) { return vr; } else if (variables.containsKey(name)) { variableResolvers.put(name, vr = new ProtoResolver(variables, name)); return vr; } else if (nextFactory != null) { return nextFactory.getVariableResolver(name); } throw new UnresolveablePropertyException("unable to resolve variable '" + name + "'"); } }
@Override public VariableResolver createVariable(String name, Object value, Class<?> type) { VariableResolver vr; try { vr = getVariableResolver(name); } catch (UnresolveablePropertyException e) { vr = null; } if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name); } else { addResolver(name, vr = new ProtoResolver(variables, name, type)).setValue(value); return vr; } }
@Override public VariableResolver createVariable(String name, Object value, Class<?> type) { VariableResolver vr; try { vr = getVariableResolver(name); } catch (UnresolveablePropertyException e) { vr = null; } if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name, expr, start); } else { addResolver(name, vr = new ProtoResolver(variables, name, type)).setValue(value); return vr; } }
@Override public VariableResolver createVariable(String name, Object value, Class<?> type) { VariableResolver vr; try { vr = getVariableResolver(name); } catch (UnresolveablePropertyException e) { vr = null; } if (vr != null && vr.getType() != null) { throw new CompileException("variable already defined within scope: " + vr.getType() + " " + name, expr, start); } else { addResolver(name, vr = new ProtoResolver(variables, name, type)).setValue(value); return vr; } }
public VariableResolver getVariableResolver(String name) { VariableResolver vr = variableResolvers.get(name); if (vr != null) { return vr; } else if (variables.containsKey(name)) { variableResolvers.put(name, vr = new ProtoResolver(variables, name)); return vr; } else if (nextFactory != null) { return nextFactory.getVariableResolver(name); } throw new UnresolveablePropertyException("unable to resolve variable '" + name + "'"); } }
public VariableResolver getVariableResolver(String name) { VariableResolver vr = variableResolvers.get(name); if (vr != null) { return vr; } else if (variables.containsKey(name)) { variableResolvers.put(name, vr = new ProtoResolver(variables, name)); return vr; } else if (nextFactory != null) { return nextFactory.getVariableResolver(name); } throw new UnresolveablePropertyException("unable to resolve variable '" + name + "'"); } }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }
@Override public VariableResolver createVariable(String name, Object value) { VariableResolver vr; try { (vr = getVariableResolver(name)).setValue(value); return vr; } catch (UnresolveablePropertyException e) { addResolver(name, vr = new ProtoResolver(variables, name)).setValue(value); return vr; } }