/** Creates and returns the function mapper for the specified pagedefinition and page. */ public FunctionMapper newFunctionMapper(PageDefinition pgdef, Page page) throws Exception { return newFunctionMapper(pgdef.getEvaluator(), page); }
public Evaluator getEvaluator() { if (_pagedef != null) return _pagedef.getEvaluator(); if (_eval == null) _eval = new SimpleEvaluator(_mapper, _expfcls); return _eval; }
/** Returns whether to append the response header, rather than replace. */ public boolean shallAppend(PageDefinition pgdef, Page page) { final Evaluator eval = pgdef.getEvaluator(); final Boolean bAppend = _append != null ? (Boolean) _append.getValue(eval, page) : null; return bAppend != null && bAppend.booleanValue(); } }
/** Creates and returns the variable resolver for the specified page. */ public VariableResolver newVariableResolver(PageDefinition pgdef, Page page) throws Exception { return newVariableResolver(pgdef.getEvaluator(), page); }
/** Creates and returns the initiator, or null if no initiator is resolved. * Notice that {@link Initiator#doInit} was called before returned. */ public Initiator newInitiator(PageDefinition pgdef, Page page) throws Exception { return newInitiator(pgdef.getEvaluator(), page); }
/** Converts the header definitions (added by {@link #setRootAttribute}) * to the attributes of the root element. * For HTML, the root element is the HTML element. * @since 3.0.0 */ public String getRootAttributes(Page page) { if (_rootAttrs == null || _rootAttrs.isEmpty()) return ""; final Evaluator eval = getEvaluator(); final StringBuffer sb = new StringBuffer(256); for (Map.Entry<String, ExValue> me : _rootAttrs.entrySet()) { final String val = (String) me.getValue().getValue(eval, page); if (val != null) HTMLs.appendAttribute(sb, me.getKey(), val); } return sb.toString(); }
/** Returns the value of the response header. * @return the value which is an instance of {@link Date} or {@link String} * (and never null). */ public Object getValue(PageDefinition pgdef, Page page) { final Evaluator eval = pgdef.getEvaluator(); if (_cond == null || _cond.isEffective(eval, page)) { final Object val = _value.getValue(eval, page); return val != null ? val instanceof Date ? val : val.toString() : ""; } return ""; }
/** Returns a list of all {@link Initiator} and invokes * its {@link Initiator#doInit} before returning. * It never returns null. */ public List<Initiator> doInit(Page page) { if (_initdefs == null) return Collections.emptyList(); final List<Initiator> inits = new LinkedList<Initiator>(); try { for (InitiatorInfo ii : _initdefs) { final Initiator init = ii.newInitiator(getEvaluator(), page); if (init != null) inits.add(init); } } catch (Throwable ex) { throw UiException.Aide.wrap(ex); } return inits; }
/** Evaluates and returns the URI, or null if not to forward. * * <p>Note: if URI contains EL expressions and is evaluated to an empty * string, this method returns null to indicate no need to forward. */ public String resolveURI(PageDefinition pgdef, Page page) { final Evaluator eval = pgdef.getEvaluator(); if (_cond == null || _cond.isEffective(eval, page)) { final String uri = (String) _uri.getValue(eval, page); if (uri != null && uri.length() != 0) return uri; } return null; } }
final Evaluator eval = pgdef.getEvaluator(); if (_cond != null && !_cond.isEffective(eval, page)) return "";