Package org.silverpeas.components.community.web

# Class CommunityWebResource

java.lang.Object
org.silverpeas.core.web.rs.RESTWebService
org.silverpeas.components.community.web.CommunityWebResource

All Implemented Interfaces:
  `org.silverpeas.core.web.rs.ProtectedWebResource`, `org.silverpeas.core.web.rs.WebAuthenticationValidation`, `org.silverpeas.core.web.rs.WebAuthorizationValidation`, `org.silverpeas.core.web.SilverpeasWebResource`

Direct Known Subclasses:
  `CommunityMembershipResource`, `CommunityOfUsersResource`

@Authorized public abstract class CommunityWebResource extends org.silverpeas.core.web.rs.RESTWebService
Base class of all the resources in the community application exposed through the Web. It is expected the web resource to be spawn for each incoming request; the life-cycle of each web resource instance is within the one of the request.

Author:
  mmoquillon

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static interface`
  `CommunityWebResource.WebFunction<R>`

  ## Nested classes/interfaces inherited from class org.silverpeas.core.web.rs.RESTWebService

  `org.silverpeas.core.web.rs.RESTWebService.WebProcess<R extends Object>, org.silverpeas.core.web.rs.RESTWebService.WebTreatment<R extends Object>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final org.silverpeas.core.admin.PaginationPage`
  `NO_PAGINATION`
  `protected static final String`
  `RESOURCE_NAME`

  ### Fields inherited from class org.silverpeas.core.web.rs.RESTWebService

  `RESPONSE_HEADER_ARRAYSIZE`

  ### Fields inherited from interface org.silverpeas.core.web.SilverpeasWebResource

  `BASE_PATH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CommunityWebResource()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected String`
  `getResourceBasePath()`
  Gets the relative base path at which are all exposed the resources in the community application.
  `protected Collection<org.silverpeas.core.admin.user.model.SilverpeasRole>`
  `getUserRoles()`
  Gets the roles the user requesting currently this web resource plays in the community of users.
  `protected CommunityWebManager`
  `getWebManager()`
  Gets the Web Manager to use to fulfill the incoming request.
  `protected void`
  `initURIBuilder()`
  `protected <T> T`
  `process(CommunityWebResource.WebFunction<T> function)`
  Processes the specified web function behalf the community of users concerned by the incoming request.

  ### Methods inherited from class org.silverpeas.core.web.rs.RESTWebService

  `createWebResourceUri, fromPage, getBundle, getBundleLocation, getHighestUserRole, getHttpRequest, getHttpServletRequest, getHttpServletResponse, getLanguage, getOrganisationController, getSilverpeasContext, getUri, getUser, getUserPreferences, identifiedBy, identifiedBy, initContext, initWebResourceUri, isUserDefined, process`

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

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

  ### Methods inherited from interface org.silverpeas.core.web.rs.ProtectedWebResource

  `validateUserAuthorization`

  ### Methods inherited from interface org.silverpeas.core.web.SilverpeasWebResource

  `getComponentId`

  ### Methods inherited from interface org.silverpeas.core.web.rs.WebAuthenticationValidation

  `validateUserAuthentication`

- ## Field Details

  - ### RESOURCE_NAME

    protected static final String RESOURCE_NAME
    See Also:
      - Constant Field Values

  - ### NO_PAGINATION

    protected static final org.silverpeas.core.admin.PaginationPage NO_PAGINATION

- ## Constructor Details

  - ### CommunityWebResource

    public CommunityWebResource()

- ## Method Details

  - ### initURIBuilder

    @PostConstruct protected void initURIBuilder()

  - ### getResourceBasePath

    protected String getResourceBasePath()
    Gets the relative base path at which are all exposed the resources in the community application.
    Specified by:
      `getResourceBasePath` in class `org.silverpeas.core.web.rs.RESTWebService`
    Returns:
      the base path of the resource relative to the URI at which are all exposed the REST-based web services in Silverpeas.

  - ### getUserRoles

    protected Collection<org.silverpeas.core.admin.user.model.SilverpeasRole> getUserRoles()
    Gets the roles the user requesting currently this web resource plays in the community of users.
    Overrides:
      `getUserRoles` in class `org.silverpeas.core.web.rs.RESTWebService`
    Returns:
      a collection of roles the current user plays.

  - ### getWebManager

    protected CommunityWebManager getWebManager()
    Gets the Web Manager to use to fulfill the incoming request. The web manager centralizes all the behavior provided in the website, both by the Web GUI and the REST web resources.
    Returns:
      a community web manager.

  - ### process

    protected <T> T process(CommunityWebResource.WebFunction<T> function)
    Processes the specified web function behalf the community of users concerned by the incoming request.
    Type Parameters:
      `T` - the concrete type of the answer.
    Parameters:
      `function` - the web function to apply.
    Returns:
      the answer of the web function.