Package org.silverpeas.components.silvercrawler.servlets

## Class SilverCrawlerRequestRouter

- 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<SilverCrawlerSessionController>
          - - org.silverpeas.components.silvercrawler.servlets.SilverCrawlerRequestRouter

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

      public class SilverCrawlerRequestRouter
      extends org.silverpeas.core.web.mvc.route.ComponentRequestRouter<SilverCrawlerSessionController>

  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`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SilverCrawlerSessionController` | `createComponentSessionController​(org.silverpeas.core.web.mvc.controller.MainSessionController mainSessionCtrl, org.silverpeas.core.web.mvc.controller.ComponentContext componentContext)` | Method declaration
    `String` | `getDestination​(String function, SilverCrawlerSessionController silverCrawlerSC, org.silverpeas.core.web.http.HttpRequest request)` | This method has to be implemented by the component request rooter it has to compute a destination page
    `String` | `getFlag​(String[] profiles)` |
    `String` | `getSessionControlBeanName()` | This method has to be implemented in the component request rooter class.

    - ### 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`

- - ### Constructor Detail

    - #### SilverCrawlerRequestRouter

          public SilverCrawlerRequestRouter()

  - ### Method Detail

    - #### getSessionControlBeanName

          public String getSessionControlBeanName()

      This method has to be implemented in the component request rooter 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<SilverCrawlerSessionController>`

    - #### createComponentSessionController

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

      Method declaration
      Specified by:
        `createComponentSessionController` in class `org.silverpeas.core.web.mvc.route.ComponentRequestRouter<SilverCrawlerSessionController>`
      Parameters:
        `mainSessionCtrl` -
        `componentContext` -
      Returns:

    - #### getFlag

          public String getFlag​(String[] profiles)

    - #### getDestination

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

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