org.springframework.web.reactive.result.view

Class BindStatus

  • java.lang.Object
    • org.springframework.web.reactive.result.view.BindStatus


  • public class BindStatus
    extends java.lang.Object
    Simple adapter to expose the bind status of a field or object. Set as a variable by FreeMarker macros and other tag libraries.

    Obviously, object status representations (i.e. errors at the object level rather than the field level) do not have an expression and a value but only error codes and messages. For simplicity's sake and to be able to use the same tags and macros, the same status class is used for both scenarios.

    Since:
    5.0
    Author:
    Rossen Stoyanchev, Juergen Hoeller
    See Also:
    RequestContext.getBindStatus(java.lang.String)
    • Constructor Summary

      Constructors 
      Constructor and Description
      BindStatus(RequestContext requestContext, java.lang.String path, boolean htmlEscape)
      Create a new BindStatus instance, representing a field or object status.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.beans.PropertyEditor findEditor(java.lang.Class<?> valueClass)
      Find a PropertyEditor for the given value class, associated with the property that this bound status is currently bound to.
      java.lang.Object getActualValue()
      Return the actual value of the field, i.e.
      java.lang.String getDisplayValue()
      Return a suitable display value for the field, i.e.
      java.beans.PropertyEditor getEditor()
      Return the PropertyEditor for the property that this bind status is currently bound to.
      java.lang.String getErrorCode()
      Return the first error codes for the field or object, if any.
      java.lang.String[] getErrorCodes()
      Return the error codes for the field or object, if any.
      java.lang.String getErrorMessage()
      Return the first error message for the field or object, if any.
      java.lang.String[] getErrorMessages()
      Return the resolved error messages for the field or object, if any.
      java.lang.String getErrorMessagesAsString(java.lang.String delimiter)
      Return an error message string, concatenating all messages separated by the given delimiter.
      Errors getErrors()
      Return the Errors instance (typically a BindingResult) that this bind status is currently associated with.
      java.lang.String getExpression()
      Return a bind expression that can be used in HTML forms as input name for the respective field, or null if not field-specific.
      java.lang.String getPath()
      Return the bean and property path for which values and errors will be resolved (e.g.
      java.lang.Object getValue()
      Return the current value of the field, i.e.
      java.lang.Class<?> getValueType()
      Get the 'Class' type of the field.
      boolean isError()
      Return if this status represents a field or object error.
      java.lang.String toString() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • BindStatus

        public BindStatus(RequestContext requestContext,
                          java.lang.String path,
                          boolean htmlEscape)
                   throws java.lang.IllegalStateException
        Create a new BindStatus instance, representing a field or object status.
        Parameters:
        requestContext - the current RequestContext
        path - the bean and property path for which values and errors will be resolved (e.g. "customer.address.street")
        htmlEscape - whether to HTML-escape error messages and string values
        Throws:
        java.lang.IllegalStateException - if no corresponding Errors object found
    • Method Detail

      • getPath

        public java.lang.String getPath()
        Return the bean and property path for which values and errors will be resolved (e.g. "customer.address.street").
      • getExpression

        @Nullable
        public java.lang.String getExpression()
        Return a bind expression that can be used in HTML forms as input name for the respective field, or null if not field-specific.

        Returns a bind path appropriate for resubmission, e.g. "address.street". Note that the complete bind path as required by the bind tag is "customer.address.street", if bound to a "customer" bean.

      • getValue

        @Nullable
        public java.lang.Object getValue()
        Return the current value of the field, i.e. either the property value or a rejected update, or null if not field-specific.

        This value will be an HTML-escaped String if the original value already was a String.

      • getValueType

        @Nullable
        public java.lang.Class<?> getValueType()
        Get the 'Class' type of the field. Favor this instead of 'getValue().getClass()' since 'getValue()' may return 'null'.
      • getActualValue

        @Nullable
        public java.lang.Object getActualValue()
        Return the actual value of the field, i.e. the raw property value, or null if not available.
      • getDisplayValue

        public java.lang.String getDisplayValue()
        Return a suitable display value for the field, i.e. the stringified value if not null, and an empty string in case of a null value.

        This value will be an HTML-escaped String if the original value was non-null: the toString result of the original value will get HTML-escaped.

      • isError

        public boolean isError()
        Return if this status represents a field or object error.
      • getErrorCodes

        public java.lang.String[] getErrorCodes()
        Return the error codes for the field or object, if any. Returns an empty array instead of null if none.
      • getErrorCode

        public java.lang.String getErrorCode()
        Return the first error codes for the field or object, if any.
      • getErrorMessages

        public java.lang.String[] getErrorMessages()
        Return the resolved error messages for the field or object, if any. Returns an empty array instead of null if none.
      • getErrorMessage

        public java.lang.String getErrorMessage()
        Return the first error message for the field or object, if any.
      • getErrorMessagesAsString

        public java.lang.String getErrorMessagesAsString(java.lang.String delimiter)
        Return an error message string, concatenating all messages separated by the given delimiter.
        Parameters:
        delimiter - separator string, e.g. ", " or "
        "
        Returns:
        the error message string
      • getErrors

        @Nullable
        public Errors getErrors()
        Return the Errors instance (typically a BindingResult) that this bind status is currently associated with.
        Returns:
        the current Errors instance, or null if none
        See Also:
        BindingResult
      • getEditor

        @Nullable
        public java.beans.PropertyEditor getEditor()
        Return the PropertyEditor for the property that this bind status is currently bound to.
        Returns:
        the current PropertyEditor, or null if none
      • findEditor

        @Nullable
        public java.beans.PropertyEditor findEditor(java.lang.Class<?> valueClass)
        Find a PropertyEditor for the given value class, associated with the property that this bound status is currently bound to.
        Parameters:
        valueClass - the value class that an editor is needed for
        Returns:
        the associated PropertyEditor, or null if none
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object