/** Resolves the widget class, or null if the default is expected. * It will evaluate EL expressions if any. * <p>You rarely need to invoke this method since it is called * automatically when {@link #applyProperties} is called. * @param comp the component that the widget class represents at the client. * @since 5.0.2 */ public String resolveWidgetClass(Component comp) { return _wgtcls != null ? (String) _wgtcls.getValue(getEvaluator(), comp) : null; }
/** Evaluates the implementation class, and return either a class (Class), * a class name (String), or null. */ private Object evalImpl(Page page, Component parent) { return _impl == null ? null : parent != null ? _impl.getValue(getEvaluator(), parent) : page != null ? _impl.getValue(getEvaluator(), page) : _impl.isExpression() ? null : _impl.getRawValue(); }
/** Returns the composer for this info, or null if not available. * * @param comp the component used as the self variable to resolve * EL expressions, if any. * Notice that UI engine uses the parent component for this argument. * If comp is null, the page is used as the parent component. * If comp is not null, it is used as the self variable. * @see #getApply * @since 3.5.0 */ public Composer resolveComposer(Page page, Component comp) { ExValue[] defapply = _compdef.getParsedApply(); if (_apply == null && defapply == null) return null; try { List<Composer> composers = new LinkedList<Composer>(); Evaluator eval = getEvaluator(); toComposers(composers, defapply, eval, page, comp); toComposers(composers, _apply, eval, page, comp); return MultiComposer.getComposer(page, composers.toArray(new Composer[composers.size()])); } catch (Exception ex) { throw UiException.Aide.wrap(ex); } }
fulfillURI = (String) Evaluators.evaluate(((ComponentInfo) parentInfo).getEvaluator(), parent, fulfillURI, String.class); if (fulfillURI != null) {
public void onEvent(Event evt) throws Exception { for (int j = _targets.length; --j >= 0;) _targets[j].removeEventListener(_evtnms[j], this); //one shot only final Execution exec = Executions.getCurrent(); execCreate0( new CreateInfo(((WebAppCtrl) exec.getDesktop().getWebApp()).getUiFactory(), exec, _comp.getPage(), null), //technically sys composer can be used but we don't (to simplify it) _compInfo, _comp, null); if (_uri != null) { final String uri = (String) Evaluators.evaluate(_compInfo.getEvaluator(), _comp, _uri, String.class); if (uri != null) exec.createComponents(uri, _comp, null); } Events.sendEvent(new FulfillEvent(Events.ON_FULFILL, _comp, evt)); //Use sendEvent so onFulfill will be processed before //the event triggers the fulfill (i.e., evt) }