public void applyMetadata(FaceletContext ctx, Object instance) { ((EditableValueHolder) instance) .addValueChangeListener(new MethodExpressionValueChangeListener( this.attr.getMethodExpression(ctx, null, VALUECHANGE_SIG))); } }
public void applyMetadata(FaceletContext ctx, Object instance) { ((EditableValueHolder) instance) .addValueChangeListener(new MethodExpressionValueChangeListener( this.attr.getMethodExpression(ctx, null, VALUECHANGE_SIG))); } }
@Override public void applyMetadata(FaceletContext ctx, Object instance) { ((EditableValueHolder) instance) .addValueChangeListener(new MethodExpressionValueChangeListener( this.attr.getMethodExpression(ctx, null, VALUECHANGE_SIG))); } }
@Override public void applyMetadata(FaceletContext ctx, Object instance) { ((EditableValueHolder) instance) .addValueChangeListener(new MethodExpressionValueChangeListener( this.attr.getMethodExpression(ctx, null, VALUECHANGE_SIG))); } }
@Override public void applyMetadata(FaceletContext ctx, Object instance) { ((EditableValueHolder) instance) .addValueChangeListener(new MethodExpressionValueChangeListener( this.attr.getMethodExpression(ctx, null, VALUECHANGE_SIG))); } }
/** * @since 1.2 */ public static void addValueChangedListenerProperty(FacesContext context, UIComponent component, MethodExpression valueChangedListener) { if (valueChangedListener != null) { if (!(component instanceof EditableValueHolder)) { throw new IllegalArgumentException("Component " + component.getClientId(context) + " is no EditableValueHolder"); } ((EditableValueHolder)component).addValueChangeListener( new MethodExpressionValueChangeListener(valueChangedListener)); } }
/** * @since 1.2 */ public static void addValueChangedListenerProperty(FacesContext context, UIComponent component, MethodExpression valueChangedListener) { if (valueChangedListener != null) { if (!(component instanceof EditableValueHolder)) { throw new IllegalArgumentException("Component " + component.getClientId(context) + " is no EditableValueHolder"); } ((EditableValueHolder)component).addValueChangeListener( new MethodExpressionValueChangeListener(valueChangedListener)); } }
/** * @since 1.2 */ public static void addValueChangedListenerProperty(FacesContext context, UIComponent component, MethodExpression valueChangedListener) { if (valueChangedListener != null) { if (!(component instanceof EditableValueHolder)) { throw new IllegalArgumentException("Component " + component.getClientId(context) + " is no EditableValueHolder"); } ((EditableValueHolder)component).addValueChangeListener( new MethodExpressionValueChangeListener(valueChangedListener)); } }
/** * @since 1.2 */ public static void addValueChangedListenerProperty(FacesContext context, UIComponent component, MethodExpression valueChangedListener) { if (valueChangedListener != null) { if (!(component instanceof EditableValueHolder)) { throw new IllegalArgumentException("Component " + component.getClientId(context) + " is no EditableValueHolder"); } ((EditableValueHolder) component) .addValueChangeListener(new MethodExpressionValueChangeListener( valueChangedListener)); } }
/** * @since 1.2 */ public static void addValueChangedListenerProperty(FacesContext context, UIComponent component, MethodExpression valueChangedListener) { if (valueChangedListener != null) { if (!(component instanceof EditableValueHolder)) { throw new IllegalArgumentException("Component " + component.getClientId(context) + " is no EditableValueHolder"); } ((EditableValueHolder) component) .addValueChangeListener(new MethodExpressionValueChangeListener( valueChangedListener)); } }
protected void setValueChangeListenerProperty(UIComponent component, MethodExpression valueChangeListener) { if (valueChangeListener != null) { if (component instanceof EditableValueHolder) { EditableValueHolder input = (EditableValueHolder) component; input.addValueChangeListener(new MethodExpressionValueChangeListener(valueChangeListener)); } else { throw new IllegalArgumentException(Messages.getMessage(Messages.NO_EDITABLE_VALUE_HOLDER_ERROR, component.getId())); } } } }
public void applyMetadata(FaceletContext ctx, Object instance) { // From JSF 2.0 it is possible to have valueChangeListener method without ValueChangeEvent parameter. // It seems that MethodExpressionValueChangeListener from API contains support for it but there is one big // problem - one-arg constructor will not preserve the current VariableMapper. // This is a problem when using facelets and <ui:decorate/> with EL params (see MYFACES-2541 for details). // So we must create two MethodExpressions here - both are created from the current // facelets context and thus variable mapping will work. final MethodExpression methodExpressionOneArg = attr.getMethodExpression(ctx, null, VALUECHANGE_SIG); final MethodExpression methodExpressionZeroArg = attr.getMethodExpression(ctx, null, EMPTY_CLASS_ARRAY); if (FaceletCompositionContext.getCurrentInstance(ctx).isUsingPSSOnThisView()) { ((EditableValueHolder) instance).addValueChangeListener( new PartialMethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } else { ((EditableValueHolder) instance).addValueChangeListener( new MethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } } }
public void applyMetadata(FaceletContext ctx, Object instance) { // From JSF 2.0 it is possible to have valueChangeListener method without ValueChangeEvent parameter. // It seems that MethodExpressionValueChangeListener from API contains support for it but there is one big // problem - one-arg constructor will not preserve the current VariableMapper. // This is a problem when using facelets and <ui:decorate/> with EL params (see MYFACES-2541 for details). // So we must create two MethodExpressions here - both are created from the current // facelets context and thus variable mapping will work. final MethodExpression methodExpressionOneArg = attr.getMethodExpression(ctx, null, VALUECHANGE_SIG); final MethodExpression methodExpressionZeroArg = attr.getMethodExpression(ctx, null, EMPTY_CLASS_ARRAY); if (FaceletCompositionContext.getCurrentInstance(ctx).isUsingPSSOnThisView()) { ((EditableValueHolder) instance).addValueChangeListener( new PartialMethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } else { ((EditableValueHolder) instance).addValueChangeListener( new MethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } } }
public void applyMetadata(FaceletContext ctx, Object instance) { // From JSF 2.0 it is possible to have valueChangeListener method without ValueChangeEvent parameter. // It seems that MethodExpressionValueChangeListener from API contains support for it but there is one big // problem - one-arg constructor will not preserve the current VariableMapper. // This is a problem when using facelets and <ui:decorate/> with EL params (see MYFACES-2541 for details). // So we must create two MethodExpressions here - both are created from the current // facelets context and thus variable mapping will work. final MethodExpression methodExpressionOneArg = attr.getMethodExpression(ctx, null, VALUECHANGE_SIG); final MethodExpression methodExpressionZeroArg = attr.getMethodExpression(ctx, null, EMPTY_CLASS_ARRAY); if (FaceletCompositionContext.getCurrentInstance(ctx).isUsingPSSOnThisView()) { ((EditableValueHolder) instance).addValueChangeListener( new PartialMethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } else { ((EditableValueHolder) instance).addValueChangeListener( new MethodExpressionValueChangeListener(methodExpressionOneArg, methodExpressionZeroArg)); } } }
input.addValueChangeListener(new MethodExpressionValueChangeListener(valueChangeListener));
input.addValueChangeListener(new MethodExpressionValueChangeListener(valueChangeListener));
public void retarget(FacesContext ctx, CompCompInterfaceMethodMetadata metadata, Object sourceValue, UIComponent target) { ValueExpression ve = (ValueExpression) sourceValue; ExpressionFactory f = ctx.getApplication().getExpressionFactory(); MethodExpression me = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, VALUE_CHANGE_LISTENER_ARGS); MethodExpression noArg = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, NO_ARGS); ((EditableValueHolder) target).addValueChangeListener( new MethodExpressionValueChangeListener( new ContextualCompositeMethodExpression(ve, me), new ContextualCompositeMethodExpression(ve, noArg))); }
@Override public void retarget(FacesContext ctx, CompCompInterfaceMethodMetadata metadata, Object sourceValue, UIComponent target) { ValueExpression ve = (ValueExpression) sourceValue; ExpressionFactory f = ctx.getApplication().getExpressionFactory(); MethodExpression me = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, VALUE_CHANGE_LISTENER_ARGS); MethodExpression noArg = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, NO_ARGS); ((EditableValueHolder) target).addValueChangeListener( new MethodExpressionValueChangeListener( new ContextualCompositeMethodExpression(ve, me), new ContextualCompositeMethodExpression(ve, noArg))); }
@Override public void retarget(FacesContext ctx, CompCompInterfaceMethodMetadata metadata, Object sourceValue, UIComponent target) { ValueExpression ve = (ValueExpression) sourceValue; ExpressionFactory f = ctx.getApplication().getExpressionFactory(); MethodExpression me = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, VALUE_CHANGE_LISTENER_ARGS); MethodExpression noArg = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, NO_ARGS); ((EditableValueHolder) target).addValueChangeListener( new MethodExpressionValueChangeListener( new ContextualCompositeMethodExpression(ve, me), new ContextualCompositeMethodExpression(ve, noArg))); }
@Override public void retarget(FacesContext ctx, CompCompInterfaceMethodMetadata metadata, Object sourceValue, UIComponent target) { ValueExpression ve = (ValueExpression) sourceValue; ExpressionFactory f = ctx.getApplication().getExpressionFactory(); MethodExpression me = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, VALUE_CHANGE_LISTENER_ARGS); MethodExpression noArg = f.createMethodExpression(ctx.getELContext(), ve.getExpressionString(), Void.TYPE, NO_ARGS); ((EditableValueHolder) target).addValueChangeListener( new MethodExpressionValueChangeListener( new ContextualCompositeMethodExpression(ve, me), new ContextualCompositeMethodExpression(ve, noArg))); }