Class AuResponse

java.lang.Object
org.zkoss.zk.au.AuResponse
Direct Known Subclasses:
AuAlert, AuAppendChild, AuBookmark, AuClearBusy, AuClearWrongValue, AuClientInfo, AuConfirmClose, AuDownload, AuEcho, AuEchoGlobal, AuFocus, AuHistoryState, AuInsertAfter, AuInsertBefore, AuInvoke, AuLoadCSS, AuLoadScript, AuLog, AuMoveBy, AuMoveTo, AuNotification, AuObsolete, AuOuter, AuPrint, AuRemove, AuResizeBy, AuResizeTo, AuResizeWidget, AuScript, AuScrollBy, AuScrollIntoView, AuScrollTo, AuSelect, AuSendRedirect, AuSetAttribute, AuSetAttributes, AuSetTitle, AuShowBusy, AuSubmitForm, AuSyncErrorbox, AuUuid, AuWrongValue

public class AuResponse extends Object
A response sent from the server to the client via UiEngine.

Application developers rarely need access this class and its derived directly. Rather, use Clients instead. If you prefer to use the derives directly, you can use them with Execution.addAuResponse(org.zkoss.zk.au.AuResponse).

Author:
tomyeh
  • Field Details

    • SC_OUT_OF_SEQUENCE

      public static final int SC_OUT_OF_SEQUENCE
      ZK-Error (5501) indicating the request is out-of-sequence. ZK-Error is returned as the response header of a failed AU request.
      Since:
      5.0.4
      See Also:
    • SC_ACTIVATION_TIMEOUT

      public static final int SC_ACTIVATION_TIMEOUT
      ZK-Error (5502) indicating the request is aborted, because it is waiting too long for the completion of the previous request. ZK-Error is returned as the response header of a failed AU request.
      Since:
      6.5.2
      See Also:
    • _cmd

      protected String _cmd
    • _data

      protected Object[] _data
      Either String or DeferredValue.
  • Constructor Details

    • AuResponse

      public AuResponse(String cmd)
      Constructs a component-independent response.
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Object data)
      Constructs a component-independent response.
      Parameters:
      data - the data. It can be null, String, Date, and any kind of objects that the client accepts (marshaled by JSON).
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Object[] data)
      Constructs a component-independent response.
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Component depends, Object data)
      Constructs a response with one or zero data.
      Parameters:
      depends - specifies whether this response depends on whether the depends component. If depends is not null, this response shall be purged if the depends component is removed. If null, this response is called component-independent, and always sent to the client.

      Note: info of the depends component doesn't send to the client. It is used only to optimize what responses to send.

      data - specifies the data to be sent. If null, no data at all.
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Component depends, Object[] data)
      Constructs a response with multiple data.
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Page depends, Object data)
      Constructs a response with single data.
      Since:
      5.0.0 (becomes public)
    • AuResponse

      public AuResponse(String cmd, Page depends, Object[] data)
      Constructs a response with multiple data.
      Parameters:
      data - an array of data (null to ignore). Each element must be an instance of String, DeferredValue or null.
      Throws:
      IllegalArgumentException - if an element of data is neither String nor DeferredValue.
      Since:
      5.0.0 (becomes public)
  • Method Details

    • getCommand

      public String getCommand()
      Returns the command of this response (never null).
    • getEncodedData

      public List<Object> getEncodedData()
      Returns the evaluated result of the associated data of this response (might be null).

      Note: when this method is called, DeferredValue will be evaluated. Thus, don't call it until the rendering phase. If you want to access it other than the render phase, use getRawData() instead.

      Note: it is a copy, so any modification to it won't affect the data of this response.

      Since:
      5.0.0
      See Also:
    • getRawData

      public Object[] getRawData()
      Returns the associated data of this response in the original format (might be null).

      Note: it is a readonly array. Don't change its value.

      Since:
      3.0.5
      See Also:
    • getDepends

      public final Object getDepends()
      Returns the component or page that this response depends on. If it is not null and the depends component/page is removed, this response shall be removed, too.

      Note: the returned object is either a Component or a Page.

    • getOverrideKey

      public String getOverrideKey()
      Returns the override key. If null, this response will be appended. If not null, it overrides the previous response, if any, with the same override key and the same depends (getDepends()).

      Default: return null. The derived class shall override this method if it prefers to send the last response in the same category.

      Notice that if depends is null and the override key is not null, they are sharing a single namespace of an execution.

      Notice that if AbstractComponent.response(String,AuResponse) is called, this override key is ignored (and the first argument of the invocation is used).

      Since:
      5.0.2
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object