All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zkoss.bind.sys.BindEvaluatorX Maven / Gradle / Ivy

There is a newer version: 10.0.0-jakarta
Show newest version
/* EvaluatorExt.java

	Purpose:
		
	Description:
		
	History:
		Jul 29, 2011 9:11:31 AM, Created by henrichen

Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/

package org.zkoss.bind.sys;

import org.zkoss.bind.BindContext;
import org.zkoss.xel.ExpressionX;
import org.zkoss.xel.ValueReference;
import org.zkoss.xel.XelException;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.xel.Evaluator;

/**
 * An extension of {@link Evaluator} to have more control to handle Binding via EL.
 *
 * 

With {@link BindEvaluatorX}, you are allow to parse a Method expression or set value into property * resolved by the provided expression.

* @author henrichen * @since 6.0.0 */ public interface BindEvaluatorX extends Evaluator { /** * Prepares the expressionX. * * @param expression the expression to be prepared for being evaluated * later. * @param expectedType the expected type of the result of the evaluation */ public ExpressionX parseExpressionX(BindContext ctx, String expression, Class expectedType) throws XelException; /** * Sets the specified value to the property resolved from the specified expression. * * @param ctx the scoped bind context of this operation * @param comp the scoped component context of this operation * @param expression the expression that will resolve a property * @param value the value to be set into the resolved property */ public void setValue(BindContext ctx, Component comp, ExpressionX expression, Object value) throws XelException; /** * Sets the specified value to the property resolved from the specified expression. * * @param ctx the scoped bind context of this operation * @param comp the scoped component context of this operation * @param expression the expression that will resolve a property */ public Object getValue(BindContext ctx, Component comp, ExpressionX expression) throws XelException; /** * Returns the result type of the specified expression. * * @param ctx BindContext * @param comp evaluation context * @param expression the expression that will resolve a property */ public Class getType(BindContext ctx, Component comp, ExpressionX expression) throws XelException; /** * Returns the result reference of the specified expression. * * @param ctx BindContext * @param comp evaluation context * @param expression the expression that will resolve a property */ public ValueReference getValueReference(BindContext ctx, Component comp, ExpressionX expression) throws XelException; /** * Returns whether the specified expression a read only expression. * @param ctx BindContext * @param comp evaluation context * @param expression the expression that will resolve a property * @return whether the specified expression a read only expression. * @throws XelException */ public boolean isReadOnly(BindContext ctx, Component comp, ExpressionX expression) throws XelException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy