Package org.zkoss.zk.ui.sys

## Class Attributes

- java.lang.Object
- - org.zkoss.zk.ui.sys.Attributes

- Direct Known Subclasses:
    `Attributes`

      public class Attributes
      extends java.lang.Object

  Attributes or library properties to customize the behaviors of ZK, such as page rending, fileupload and so on.
  Since:
    5.0.0
  Author:
    tomyeh

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ACTIVATE_RETRY_ABORT` | A library property used with `ACTIVATE_RETRY_DELAY` to indicate if the time waiting for activation is longer than `ACTIVATE_RETRY_DELAY`, the activation will be aborted and the thread will end.
    `static java.lang.String` | `ACTIVATE_RETRY_DELAY` | A library property to specify the timeout (in milliseconds) to wait for the activation.
    `static java.lang.String` | `CLIENT_ROD` | A component or page attribute to indicate if the client ROD (render-on-demand) shall be applied.
    `static java.lang.String` | `CLIENT_SCRIPT_ERROR_LISTENER_CLASS` | A library property to specify the class used to handle client script error
    `static java.lang.String` | `INJECT_URI_PREFIX` | A special prefix that is used if you want to inject a special fragment into the URI of a class Web resource (CWR).
    `static java.lang.String` | `NO_CACHE` | A request attribute to indicate whether "no-cache" header is generated for the current desktop.
    `static java.lang.String` | `PAGE_REDRAW_CONTROL` | The execution attribute used to control how to redraw a page (`PageCtrl.redraw(java.io.Writer)`).
    `static java.lang.String` | `PAGE_RENDERER` | The execution attribute used to control how to render a page.
    `static java.lang.String` | `PAGE_RENDERING` | An execution attribute to indicate that a page is rendering.
    `static java.lang.String` | `PORTLET_RENDER_PATCH_CLASS` | A library property to specify the class used to patch the rendering result of a portlet.
    `static java.lang.String` | `RENEW_NATIVE_SESSION` | A session attribute used to denote that the invalidation of a native session (such as HttpSession and PortletSession) does not invalidate ZK session.
    `static java.lang.String` | `STUB_NATIVE` | A component attribute used to indicate whether to enable the stubbing of the native components.
    `static java.lang.String` | `ZK_SESSION` | A session attribute used to store the ZK session in the native session.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Attributes()` |

  - ### Method Summary

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

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

- - ### Field Detail

    - #### CLIENT_ROD

          public static final java.lang.String CLIENT_ROD

      A component or page attribute to indicate if the client ROD (render-on-demand) shall be applied.

      Default: true.

      Applicable: ZK EE

      Since:
        5.0.0
      See Also:
        Constant Field Values

    - #### PAGE_REDRAW_CONTROL

          public static final java.lang.String PAGE_REDRAW_CONTROL

      The execution attribute used to control how to redraw a page (`PageCtrl.redraw(java.io.Writer)`). There are three different values: `destkop`, `page`, and `complete`.

      Default: null (means auto). In other words, `desktop` is assumed if this is the top-level page and not being included (and other conditions). Otherwise, it assumes `page`.

      Application developers rarely need to set this attribute, unless ZK Loader cannot decide which control to use correctly.

      This control can also be specified as a request parameter called `zk.redrawCtrl`. For example, if you are using other technology, say jQuery, and want to load a ZUL page dynamically; as shown below:

                  $("#pos").load("frag.zul?zk.redrawCtrl=page");

      If you prefer to draw the desktop with the page, you can set the value to `desktop`. By drawing the desktop, it means HTML and BODY tags will be generated, too.

      If you prefer to draw the page only (such as being included), you can set the value to `page`.

      If the page already contains everything that the client expects such as the HTML and BODY tags, you can set the value to `complete`.

      The difference between `page` and `complete` is a bit subtle. They don't generate HTML and BODY tags. However, `page` generates DIV to represents a page, while `complete` generates only the root components. Thus, `complete` is usually used for the situation that HTML and BODY are being generated by other technology, while `page` for a included ZK page.

      Note: if `Page.isComplete()` is true, it has the same effect of setting `PAGE_REDRAW_CONTROL` to `complete`.

      Since:
        5.0.0
      See Also:
        `ExecutionsCtrl.getPageRedrawControl(org.zkoss.zk.ui.Execution)`, Constant Field Values

    - #### PAGE_RENDERER

          public static final java.lang.String PAGE_RENDERER

      The execution attribute used to control how to render a page. The value must be an instance of `PageRenderer`.

      Default: null (means auto). It is decided by `LanguageDefinition.getPageRenderer()`.

      Since:
        5.0.0
      See Also:
        Constant Field Values

    - #### NO_CACHE

          public static final java.lang.String NO_CACHE

      A request attribute to indicate whether "no-cache" header is generated for the current desktop. If no-cache is generated, ZK will remove a desktop as soon as possible to save the use of memory.

      This attribute is set if ZK loader sets Cache-Control=no-cache. However, if a ZUML page is included by other servlet (such as JSP and DSP), this attribute won't be set. If you set Cache-Control manually, you might also set this attribute to save the use of memory.

          request.setAttribute(Attributes.NO_CACHE, Boolean.TRUE);

      Since 5.0.8, if the zk.redrawCtrl parameter is specified with page (as described in `PAGE_REDRAW_CONTROL`), it implies `NO_CACHE`

      Since:
        3.0.1
      See Also:
        Constant Field Values

    - #### RENEW_NATIVE_SESSION

          public static final java.lang.String RENEW_NATIVE_SESSION

      A session attribute used to denote that the invalidation of a native session (such as HttpSession and PortletSession) does not invalidate ZK session. Rather it is intended to renew a session (and the ZK session still alive).

      A typical case is so-called Session Fixation Protection.

          hsess.setAttribute(Attributes.RENEW_NATIVE_SESSION, Boolean.True);
           hsess.invalidate();
           hsess.removeAttribute(Attributes.RENEW_NATIVE_SESSION);

      Since:
        3.5.1
      See Also:
        Constant Field Values

    - #### PORTLET_RENDER_PATCH_CLASS

          public static final java.lang.String PORTLET_RENDER_PATCH_CLASS

      A library property to specify the class used to patch the rendering result of a portlet.

      Default: null (means no need of patch).

      If specified, the class must implement `PageRenderPatch`.

      Since:
        5.0.0
      See Also:
        Constant Field Values

    - #### ACTIVATE_RETRY_DELAY

          public static final java.lang.String ACTIVATE_RETRY_DELAY

      A library property to specify the timeout (in milliseconds) to wait for the activation.

      Notice that, after timeout, the activation will restart automatically. That is, the value won't really affect the result (no aborting or other). It is designed to avoid the annoying warning messages found in some JVM. For example, IBM JVM shows a warning if wait() exceeds 10 minutes. To prevent the warning, you can set the value to less than 10 minutes.

      If you'd like to aborting the activation (and then stops the pending thread), you can specify `ACTIVATE_RETRY_ABORT` to "true". Then, after timeout, the activation will be aborted.

      Default: 120000 (unit: milliseconds)

      Since:
        5.0.3
      See Also:
        Constant Field Values

    - #### ACTIVATE_RETRY_ABORT

          public static final java.lang.String ACTIVATE_RETRY_ABORT

      A library property used with `ACTIVATE_RETRY_DELAY` to indicate if the time waiting for activation is longer than `ACTIVATE_RETRY_DELAY`, the activation will be aborted and the thread will end.

      Default: false.

      It has no function if `ACTIVATE_RETRY_DELAY` is not specified (with a positive value).

      Since:
        6.5.2
      See Also:
        Constant Field Values

    - #### INJECT_URI_PREFIX

          public static final java.lang.String INJECT_URI_PREFIX

      A special prefix that is used if you want to inject a special fragment into the URI of a class Web resource (CWR). The fragment is ignored with retrieving the file, so it can be anything to make the browser consider it as a different URI.

      For example, `ThemeProvider.Aide` is based on this prefix.

      Notice that this prefix is currently supported only by the WCS files (`WcsExtendlet`).

      See Also:
        Constant Field Values

    - #### PAGE_RENDERING

          public static final java.lang.String PAGE_RENDERING

      An execution attribute to indicate that a page is rendering.
      Since:
        5.0.4
      See Also:
        Constant Field Values

    - #### STUB_NATIVE

          public static final java.lang.String STUB_NATIVE

      A component attribute used to indicate whether to enable the stubbing of the native components.

      By default, the native component will be stub-ized, i.e., replaced with a stateless component called `StubComponent`, such that the memory footprint will be minimized. To stub-ize non-native, please use `Component.setStubonly(java.lang.String)`.

      Default: true. Though rarely, you could disable the stubbing by setting this attribute to false. For example, if you have a component that has native children, and you'd like to detach it and re-attach later. Since the server does not maintain the states, it cannot be restored when attached back.

      It shall be set to a component's attribute, and it affects all descendant components unless it was set explicitly.

      Default: true

      Available in ZK EE only.

      Since:
        5.0.6
      See Also:
        Constant Field Values

    - #### ZK_SESSION

          public static final java.lang.String ZK_SESSION

      A session attribute used to store the ZK session in the native session.
      Since:
        5.0.8
      See Also:
        Constant Field Values

    - #### CLIENT_SCRIPT_ERROR_LISTENER_CLASS

          public static final java.lang.String CLIENT_SCRIPT_ERROR_LISTENER_CLASS

      A library property to specify the class used to handle client script error
      Since:
        9.6.0
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Attributes

          public Attributes()