org.eclnt.jsfserver.elements

## Class ThreadData

- java.lang.Object
- - org.eclnt.jsfserver.elements.ThreadData

- All Implemented Interfaces:
    java.io.Serializable

      public class ThreadData
      extends java.lang.Object
      implements java.io.Serializable

  Data which is managed on thread level for each request processing. The ThreadData is defined/invoked within the `ThreadingFilter` servlet filter.
  When a request enters the server side processing then an thread-date-object is assigned to the thread - accumulating and holding certain data which is only valid through the current request processing. After the request is processed the thread data is cleaned - waiting for the next request being processed in this thread.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ThreadData()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addClientTestLogMessage(java.lang.String message)`
    `void` | `addConsumedNanosComment(java.lang.String comment, long nanos)` Internal usage.
    `void` | `addConsumedNanosGet(java.lang.String comment, long nanos)` Internal usage.
    `void` | `addConsumedNanosInvoke(java.lang.String comment, long nanos)` Internal usage.
    `void` | `addConsumedNanosPhase(java.lang.String comment, long nanos)` Internal usage.
    `void` | `addRequestEvent(java.lang.Object event)` Internal usage only. - Add event to the list of events fot this request.
    `boolean` | `checkIfContainedAsIsolatedUpdateZone(java.lang.Object zone)`
    `void` | `clean()` internal use only - the clean() is called at the very beginning of each request processing (`ThreadingFilter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)`.
    `void` | `destroy()` Cleans up Threaddata and removes it out of the thread-map.
    `long` | `getCallCountGet()` Internal usage: number of property-get-resolutions that were executed within the current request.
    `boolean` | `getClientIsInTestMode()`
    `java.lang.String` | `getClientTestLogMessage()`
    `ClientToBeReloadedException` | `getClientToBeReloadedExceptionOccurred()` Internal usage: checks if `ClientToBeReloadedException` exception occurred during processing.
    `java.util.Set<java.lang.String>` | `getComponentIdsToBeDecoded()` Internal use: set of component ids which are to be encoded
    `long` | `getConsumedNanosGet()` Internal usage: number of nano seconds that were spent with resolving properties.
    `java.lang.String` | `getCurrentInvokeExpression()`
    `HttpServletRequest` | `getHttpRequest()`
    `HttpServletResponse` | `getHttpResponse()`
    `HttpSession` | `getHttpSession()`
    `static ThreadData` | `getInstance()`
    `static ThreadData` | `getInstance(boolean createNewOneIfMissing)`
    `java.util.Set<java.lang.Object>` | `getIsolatedUpadateZones()` internal use only
    `java.util.List<ProfileLogInfo>` | `getProfileLogInfos()`
    `boolean` | `getProfileMode()` Profile mode: if true then per request profiling information is written.
    `java.util.List<java.lang.Object>` | `getRequestEventObjects()` Internal usage only. - List of events as object list.
    `java.util.List<FacesEvent>` | `getRequestEvents()` All events that are processed within one request are stored in this list.
    `ROWINCLUDEDump` | `getRowincludeDump()`
    `long` | `getStampEndOfProcessing()` Point of time when request server processing was finished.
    `long` | `getStampStartOfProcessing()` Point of time when request was received in server processing.
    `java.lang.String` | `getSubpageId()` Every browser instance is associated with a unique id - which is the "subpageId".
    `boolean` | `getUpdateAllAreasIsRequired()` internal use only
    `void` | `initHttpRequest(HttpServletRequest httpRequest)`
    `void` | `initHttpResponse(HttpServletResponse httpResponse)`
    `void` | `initHttpSession(HttpSession session)` internal use only
    `void` | `initSubpageId(java.lang.String subpageId)` internal use only
    `boolean` | `isRequestFocusMgmtBlocked()` Internal usage: the request-focus-processing can be blocked for the current request processing.
    `void` | `registerChangeUpdatingAllAreas()` Included pages (ROWINCLUDE usage) may only be updated if an event occurred within the scope of the page (attribute ROWINCLUDE-UPDATEONINNEREVENTONLY).
    `void` | `registerIsolatedUpdateZone(java.lang.Object zone)` internal use only - registration of ROWINCLUDE components that are "isolated event areas (e.g. valid values popup).
    `void` | `registerNoIsolation()`
    `void` | `setClientIsInTestMode(boolean clientIsInTestMode)`
    `void` | `setClientToBeReloadedExceptionOccurred(ClientToBeReloadedException exc)` Internal usage: passes information that `ClientToBeReloadedException` was thrown during processing.
    `void` | `setComponentIdsToBeDecoded(java.util.Set<java.lang.String> componentIdsToBeEncoded)`
    `void` | `setCurrentInvokeExpression(java.lang.String currentInvokeExpression)` Internal use only.
    `void` | `setProfileMode(boolean profileMode)`
    `void` | `setRequestFocusMgmtBlocked(boolean requestFocusMgmtBlocked)`
    `void` | `setStampEndOfProcessing(long stampEndOfProcessing)`
    `void` | `setStampStartOfProcessing(long stampStartOfProcessing)`

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

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

- - ### Constructor Detail

    - #### ThreadData

          public ThreadData()

  - ### Method Detail

    - #### getInstance

          public static ThreadData getInstance()

    - #### getInstance

          public static ThreadData getInstance(boolean createNewOneIfMissing)

    - #### initSubpageId

          public void initSubpageId(java.lang.String subpageId)

      internal use only

    - #### initHttpSession

          public void initHttpSession(HttpSession session)

      internal use only

    - #### registerChangeUpdatingAllAreas

          public void registerChangeUpdatingAllAreas()

      Included pages (ROWINCLUDE usage) may only be updated if an event occurred within the scope of the page (attribute ROWINCLUDE-UPDATEONINNEREVENTONLY). By calling this method you define that all areas will be checked for updates within the current event processing.

    - #### getUpdateAllAreasIsRequired

          public boolean getUpdateAllAreasIsRequired()

      internal use only

    - #### registerIsolatedUpdateZone

          public void registerIsolatedUpdateZone(java.lang.Object zone)

      internal use only - registration of ROWINCLUDE components that are "isolated event areas (e.g. valid values popup). Events within this areas only cause a dedicated render-processing of exactly these areas.

    - #### checkIfContainedAsIsolatedUpdateZone

          public boolean checkIfContainedAsIsolatedUpdateZone(java.lang.Object zone)

    - #### initHttpRequest

          public void initHttpRequest(HttpServletRequest httpRequest)

    - #### initHttpResponse

          public void initHttpResponse(HttpServletResponse httpResponse)

    - #### getHttpRequest

          public HttpServletRequest getHttpRequest()

    - #### getHttpResponse

          public HttpServletResponse getHttpResponse()

    - #### registerNoIsolation

          public void registerNoIsolation()

    - #### getIsolatedUpadateZones

          public java.util.Set<java.lang.Object> getIsolatedUpadateZones()

      internal use only

    - #### clean

          public void clean()

      internal use only - the clean() is called at the very beginning of each request processing (`ThreadingFilter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)`.

    - #### getSubpageId

          public java.lang.String getSubpageId()

      Every browser instance is associated with a unique id - which is the "subpageId". In scenarios in which session tracking is done via cookies the subpageId is used to identify the client instance (which typically is the representations of a browser/browser tab).

    - #### getHttpSession

          public HttpSession getHttpSession()

    - #### addClientTestLogMessage

          public void addClientTestLogMessage(java.lang.String message)

    - #### getClientTestLogMessage

          public java.lang.String getClientTestLogMessage()

    - #### getClientIsInTestMode

          public boolean getClientIsInTestMode()

    - #### setClientIsInTestMode

          public void setClientIsInTestMode(boolean clientIsInTestMode)

    - #### addConsumedNanosGet

          public void addConsumedNanosGet(java.lang.String comment,
                                          long nanos)

      Internal usage.

    - #### addConsumedNanosInvoke

          public void addConsumedNanosInvoke(java.lang.String comment,
                                             long nanos)

      Internal usage.

    - #### addConsumedNanosPhase

          public void addConsumedNanosPhase(java.lang.String comment,
                                            long nanos)

      Internal usage.

    - #### addConsumedNanosComment

          public void addConsumedNanosComment(java.lang.String comment,
                                              long nanos)

      Internal usage.

    - #### getConsumedNanosGet

          public long getConsumedNanosGet()

      Internal usage: number of nano seconds that were spent with resolving properties.

    - #### getCallCountGet

          public long getCallCountGet()

      Internal usage: number of property-get-resolutions that were executed within the current request.

    - #### getClientToBeReloadedExceptionOccurred

          public ClientToBeReloadedException getClientToBeReloadedExceptionOccurred()

      Internal usage: checks if `ClientToBeReloadedException` exception occurred during processing.

    - #### setClientToBeReloadedExceptionOccurred

          public void setClientToBeReloadedExceptionOccurred(ClientToBeReloadedException exc)

      Internal usage: passes information that `ClientToBeReloadedException` was thrown during processing.

    - #### isRequestFocusMgmtBlocked

          public boolean isRequestFocusMgmtBlocked()

      Internal usage: the request-focus-processing can be blocked for the current request processing.

    - #### setRequestFocusMgmtBlocked

          public void setRequestFocusMgmtBlocked(boolean requestFocusMgmtBlocked)

    - #### getProfileMode

          public boolean getProfileMode()

      Profile mode: if true then per request profiling information is written. The profiling information is useful for server side performance analysis.

    - #### setProfileMode

          public void setProfileMode(boolean profileMode)

    - #### getProfileLogInfos

          public java.util.List<ProfileLogInfo> getProfileLogInfos()

      Returns:
        Profile logging messages that were collected during the current request processing.

    - #### getCurrentInvokeExpression

          public java.lang.String getCurrentInvokeExpression()

      Returns:
        Method that is/was executed within the current request processing.

    - #### setCurrentInvokeExpression

          public void setCurrentInvokeExpression(java.lang.String currentInvokeExpression)

      Internal use only.

    - #### getRequestEvents

          public java.util.List<FacesEvent> getRequestEvents()

      All events that are processed within one request are stored in this list. You may read (...and only read!!) the list of events, after the decode phase of the request processing.

    - #### addRequestEvent

          public void addRequestEvent(java.lang.Object event)

      Internal usage only. - Add event to the list of events fot this request.

    - #### getRequestEventObjects

          public java.util.List<java.lang.Object> getRequestEventObjects()

      Internal usage only. - List of events as object list.

    - #### getStampStartOfProcessing

          public long getStampStartOfProcessing()

      Point of time when request was received in server processing.

    - #### setStampStartOfProcessing

          public void setStampStartOfProcessing(long stampStartOfProcessing)

    - #### getStampEndOfProcessing

          public long getStampEndOfProcessing()

      Point of time when request server processing was finished.

    - #### setStampEndOfProcessing

          public void setStampEndOfProcessing(long stampEndOfProcessing)

    - #### getRowincludeDump

          public ROWINCLUDEDump getRowincludeDump()

    - #### destroy

          public void destroy()

      Cleans up Threaddata and removes it out of the thread-map.

    - #### getComponentIdsToBeDecoded

          public java.util.Set<java.lang.String> getComponentIdsToBeDecoded()

      Internal use: set of component ids which are to be encoded

    - #### setComponentIdsToBeDecoded

          public void setComponentIdsToBeDecoded(java.util.Set<java.lang.String> componentIdsToBeEncoded)

Copyright © CaptainCasa Gmbh. All Rights Reserved.