Class BeanPropertiesELResolver

java.lang.Object
jakarta.el.ELResolver
jakarta.el.BeanELResolver
org.hibernate.validator.internal.engine.messageinterpolation.el.BeanPropertiesELResolver

public class BeanPropertiesELResolver extends BeanELResolver
Author:
Guillaume Smet
  • Method Details

    • invoke

      public Object invoke(ELContext context, Object base, Object methodName, Class<?>[] paramTypes, Object[] params)
      Description copied from class: BeanELResolver
      If the base object is not null, invoke the method, with the given parameters on this bean. The return value from the method is returned.

      If the base is not null, the propertyResolved property of the ELContext object must be set to true by this resolver, before returning. If this property is not true after this method is called, the caller should ignore the return value.

      The provided method object will first be coerced to a String. The methods in the bean is then examined and an attempt will be made to select one for invocation. If no suitable can be found, a MethodNotFoundException is thrown. If the given paramTypes is not null, select the method with the given name and parameter types. Else select the method with the given name that has the same number of parameters. If there are more than one such method, the method selection process is undefined. Else select the method with the given name that takes a variable number of arguments. Note the resolution for overloaded methods will likely be clarified in a future version of the spec. The provide parameters are coerced to the corresponding parameter types of the method, and the method is then invoked.

      Overrides:
      invoke in class BeanELResolver
      Parameters:
      context - The context of this evaluation.
      base - The bean on which to invoke the method
      methodName - The simple name of the method to invoke. Will be coerced to a String. If method is "<init>"or "<clinit>" a MethodNotFoundException is thrown.
      paramTypes - An array of Class objects identifying the method's formal parameter types, in declared order. Use an empty array if the method has no parameters. Can be null, in which case the method's formal parameter types are assumed to be unknown.
      params - The parameters to pass to the method, or null if no parameters.
      Returns:
      The result of the method invocation (null if the method has a void return type).