javax.faces.validator

## Class MethodExpressionValidator

- java.lang.Object
- - javax.faces.validator.MethodExpressionValidator

- All Implemented Interfaces:
    EventListener, StateHolder, Validator

      public class MethodExpressionValidator
      extends Object
      implements Validator, StateHolder

  MethodExpressionValidator is a `Validator` that wraps a `MethodExpression`, and it performs validation by executing a method on an object identified by the `MethodExpression`.

- - ### Field Summary

    - ### Fields inherited from interface javax.faces.validator.Validator

      `NOT_IN_RANGE_MESSAGE_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MethodExpressionValidator()`
    `MethodExpressionValidator(MethodExpression methodExpression)` Construct a `Validator` that contains a `MethodExpression`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isTransient()` If true, the Object implementing this interface must not participate in state saving or restoring.
    `void` | `restoreState(FacesContext context, Object state)` Perform any processing required to restore the state from the entries in the state Object.
    `Object` | `saveState(FacesContext context)` Gets the state of the instance as a `Serializable` Object.
    `void` | `setTransient(boolean transientValue)` Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.
    `void` | `validate(FacesContext context, UIComponent component, Object value)` Perform the correctness checks implemented by this `Validator` against the specified `UIComponent`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MethodExpressionValidator

          public MethodExpressionValidator()

    - #### MethodExpressionValidator

          public MethodExpressionValidator(MethodExpression methodExpression)

      Construct a `Validator` that contains a `MethodExpression`.

  - ### Method Detail

    - #### validate

          public void validate(FacesContext context,
                      UIComponent component,
                      Object value)
                        throws ValidatorException

      Description copied from interface: `Validator`

      Perform the correctness checks implemented by this `Validator` against the specified `UIComponent`. If any violations are found, a `ValidatorException` will be thrown containing the `FacesMessage` describing the failure.

      For a validator to be fully compliant with Version 2 and later of the specification, it must not fail validation on `null` or empty values unless it is specifically intended to address `null` or empty values. An application-wide `<context-param>` is provided to allow validators designed for JSF 1.2 to work with JSF 2 and later. The `javax.faces.VALIDATE_EMPTY_FIELDS` `<context-param>` must be set to `false` to enable this backwards compatibility behavior.

      Specified by:
        `validate` in interface `Validator`
      Parameters:
        `context` - FacesContext for the request we are processing
        `component` - UIComponent we are checking for correctness
        `value` - the value to validate
      Throws:
        `NullPointerException` - if `context` or `component` is `null`
        `ValidatorException` - if validation fails

    - #### saveState

          public Object saveState(FacesContext context)

      Description copied from interface: `StateHolder`

      Gets the state of the instance as a `Serializable` Object.

      If the class that implements this interface has references to instances that implement StateHolder (such as a `UIComponent` with event handlers, validators, etc.) this method must call the `StateHolder.saveState(javax.faces.context.FacesContext)` method on all those instances as well. This method must not save the state of children and facets. That is done via the `StateManager`

      This method must not alter the state of the implementing object. In other words, after executing this code:

      `

           Object state = component.saveState(facesContext);

      `

      `component` should be the same as before executing it.

      The return from this method must be `Serializable`

      Specified by:
        `saveState` in interface `StateHolder`

    - #### restoreState

          public void restoreState(FacesContext context,
                          Object state)

      Description copied from interface: `StateHolder`

      Perform any processing required to restore the state from the entries in the state Object.

      If the class that implements this interface has references to instances that also implement StateHolder (such as a `UIComponent` with event handlers, validators, etc.) this method must call the `StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object)` method on all those instances as well.

      If the `state` argument is `null`, take no action and return.

      Specified by:
        `restoreState` in interface `StateHolder`

    - #### isTransient

          public boolean isTransient()

      Description copied from interface: `StateHolder`

      If true, the Object implementing this interface must not participate in state saving or restoring.

      Specified by:
        `isTransient` in interface `StateHolder`

    - #### setTransient

          public void setTransient(boolean transientValue)

      Description copied from interface: `StateHolder`

      Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.

      Specified by:
        `setTransient` in interface `StateHolder`
      Parameters:
        `transientValue` - boolean pass `true` if this Object will not participate in state saving or restoring, otherwise pass `false`.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.