Package org.silverpeas.components.websites.servlets

## Class WebSitesRequestRouter

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet
      - - org.silverpeas.core.web.mvc.webcomponent.SilverpeasAuthenticatedHttpServlet
        - - org.silverpeas.core.web.mvc.route.ComponentRequestRouter<WebSiteSessionController>
          - - org.silverpeas.components.websites.servlets.WebSitesRequestRouter

- All Implemented Interfaces:
    `Serializable`, `javax.servlet.Servlet`, `javax.servlet.ServletConfig`

      public class WebSitesRequestRouter
      extends org.silverpeas.core.web.mvc.route.ComponentRequestRouter<WebSiteSessionController>

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet

      `org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet.HttpError, org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet.UserSessionStatus`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `CURRENT_FOLDER_PARAM` |
    `static String` | `DESCRIPTION_PARAM` |
    `static String` | `ICON_LIST_PARAM` |
    `static String` | `PAGE_NAME_PARAM` |
    `static String` | `PATH_PARAM` |
    `static String` | `POPUP_PARAM` |
    `static String` | `SITE_NAME_PARAM` |
    `static String` | `TOPIC_LIST_PARAM` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WebSiteSessionController` | `createComponentSessionController​(org.silverpeas.core.web.mvc.controller.MainSessionController mainSessionCtrl, org.silverpeas.core.web.mvc.controller.ComponentContext componentContext)` |
    `String` | `getDestination​(String function, WebSiteSessionController scc, org.silverpeas.core.web.http.HttpRequest request)` | This method has to be implemented by the component request router it has to compute a destination page
    `String` | `getSessionControlBeanName()` | This method has to be implemented in the component request router class. returns the session control bean name to be put in the request object ex : for almanach, returns "almanach"

    - ### Methods inherited from class org.silverpeas.core.web.mvc.route.ComponentRequestRouter

      `checkUserAuthorization, doGet, doPost, emptyJsonResponse, getComponentId, getOrganizationController, hasTheSessionSecurityTokenToBeRenewed, sendJson, updateSessionManagement`

    - ### Methods inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasAuthenticatedHttpServlet

      `getMainSessionController, getSessionInfo, getSynchronizerTokenService, renewSessionSecurityToken, service, throwUserSessionExpiration`

    - ### Methods inherited from class org.silverpeas.core.web.mvc.webcomponent.SilverpeasHttpServlet

      `existOpenedUserSession, forbidden, notFound, preconditionFailed, redirectOrForwardService, sendError, sendError, throwHttpForbiddenError, throwHttpForbiddenError, throwHttpNotFoundError, throwHttpNotFoundError, throwHttpPreconditionFailedError, throwHttpPreconditionFailedError`

    - ### Methods inherited from class javax.servlet.http.HttpServlet

      `doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service`

    - ### Methods inherited from class javax.servlet.GenericServlet

      `destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log`

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

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

- - ### Field Detail

    - #### PATH_PARAM

          public static final String PATH_PARAM

      See Also:
        Constant Field Values

    - #### CURRENT_FOLDER_PARAM

          public static final String CURRENT_FOLDER_PARAM

      See Also:
        Constant Field Values

    - #### SITE_NAME_PARAM

          public static final String SITE_NAME_PARAM

      See Also:
        Constant Field Values

    - #### DESCRIPTION_PARAM

          public static final String DESCRIPTION_PARAM

      See Also:
        Constant Field Values

    - #### POPUP_PARAM

          public static final String POPUP_PARAM

      See Also:
        Constant Field Values

    - #### PAGE_NAME_PARAM

          public static final String PAGE_NAME_PARAM

      See Also:
        Constant Field Values

    - #### TOPIC_LIST_PARAM

          public static final String TOPIC_LIST_PARAM

      See Also:
        Constant Field Values

    - #### ICON_LIST_PARAM

          public static final String ICON_LIST_PARAM

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WebSitesRequestRouter

          public WebSitesRequestRouter()

  - ### Method Detail

    - #### getSessionControlBeanName

          public String getSessionControlBeanName()

      This method has to be implemented in the component request router class. returns the session control bean name to be put in the request object ex : for almanach, returns "almanach"
      Specified by:
        `getSessionControlBeanName` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<WebSiteSessionController>`

    - #### createComponentSessionController

          public WebSiteSessionController createComponentSessionController​(org.silverpeas.core.web.mvc.controller.MainSessionController mainSessionCtrl,
                                                                           org.silverpeas.core.web.mvc.controller.ComponentContext componentContext)

      Specified by:
        `createComponentSessionController` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<WebSiteSessionController>`

    - #### getDestination

          public String getDestination​(String function,
                                       WebSiteSessionController scc,
                                       org.silverpeas.core.web.http.HttpRequest request)

      This method has to be implemented by the component request router it has to compute a destination page
      Specified by:
        `getDestination` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<WebSiteSessionController>`
      Parameters:
        `function` - The entering request function (ex : "Main.jsp")
        `scc` - The component Session Control, build and initialised.
        `request` - The entering request. The request router need it to get parameters
      Returns:
        The complete destination URL for a forward (ex : "/almanach/jsp/almanach.jsp?flag=user")