Package org.silverpeas.components.classifieds.service

# Interface ClassifiedService

All Superinterfaces:
  `org.silverpeas.core.ApplicationService`

All Known Implementing Classes:
  `DefaultClassifiedService`

public interface ClassifiedService extends org.silverpeas.core.ApplicationService
Services provided by the Classified Silverpeas component. It has to be managed by the IoC container under the name classifiedService.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `createClassified(ClassifiedDetail classified)`
  create a classified
  `void`
  `createSubscribe(Subscribe subscribe)`
  create a subscription
  `void`
  `deleteAllClassifieds(String instanceId)`
  delete all classifieds for the instance corresponding to instanceId
  `void`
  `deleteAllSubscribes(String instanceId)`
  delete all subscriptions for the instance corresponding to instanceId
  `void`
  `deleteClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)`
  delete the classified corresponding to classifiedId
  `void`
  `deleteSubscribe(String subscribeId)`
  delete a subscription corresponding to subscribeId
  `void`
  `draftInClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)`
  pass the classified corresponding to classifiedId in draft mode
  `void`
  `draftOutClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String profile, boolean isValidationEnabled)`
  take out draft mode the classified corresponding to classified
  `Collection<ClassifiedDetail>`
  `getAllClassifieds(String instanceId)`
  get all classifieds for an instance corresponding to instanceId
  `Collection<ClassifiedDetail>`
  `getAllClassifiedsToUnpublish(int nbDays, String instanceId)`
  get all expiring classifieds (corresponding of a number of day nbDays)
  `List<ClassifiedDetail>`
  `getAllValidClassifieds(String instanceId)`
  `List<ClassifiedDetail>`
  `getAllValidClassifieds(String instanceId, String searchField1, String searchField2, int firstItemIndex, int elementsPerPage)`
  get all valid classifieds
  `List<ClassifiedDetail>`
  `getClassifiedsByUser(String instanceId, String userId)`
  get all classifieds for user and instance corresponding to userId and instanceId
  `List<ClassifiedDetail>`
  `getClassifiedsToValidate(String instanceId)`
  get all classifieds to validate for an instance corresponding to instanceId
  `Optional<ClassifiedDetail>`
  `getContributionById(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)`
  `String`
  `getNbTotalClassifieds(String instanceId)`
  get the number of classifieds for an instance corresponding to instanceId
  `Collection<Subscribe>`
  `getSubscribesByUser(String instanceId, String userId)`
  get all subscriptions for user and instance corresponding to userId and instanceId
  `Collection<String>`
  `getUsersBySubscribe(String instanceId, String field1, String field2)`
  get all subscribing users to a search corresponding to fields field1 and field2
  `void`
  `indexClassifieds(String instanceId)`
  index all the classifieds for the instance corresponding to instanceId
  `void`
  `refusedClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String userId, String refusalMotive)`
  pass to status refused because the user corresponding to userId refused the classified corresponding to classifiedId for the given motive.
  `List<ClassifiedDetail>`
  `search(org.silverpeas.core.index.search.model.QueryDescription query)`
  search all classifieds corresponding to the query
  `void`
  `sendSubscriptionsNotification(String field1, String field2, ClassifiedDetail classified)`
  send a notification for subscribers to field1 and field2 when classified modified
  `void`
  `setClassification(ClassifiedDetail classified, String searchField1, String searchField2, String xmlFormName)`
  `void`
  `unpublishClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)`
  Unpublish a subscription corresponding to classifiedId
  `void`
  `updateClassified(ClassifiedDetail classified, boolean notify)`
  update the classified and send notification if notify is true
  `void`
  `validateClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String userId)`
  pass to status validate because the user corresponding to userId validated the classified corresponding to classifiedId

  ### Methods inherited from interface org.silverpeas.core.ApplicationService

  `getComponentMessages, getComponentSettings, isRelatedTo`

- ## Method Details

  - ### getContributionById

    Optional<ClassifiedDetail> getContributionById(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)
    Specified by:
      `getContributionById` in interface `org.silverpeas.core.ApplicationService`

  - ### createClassified

    String createClassified(ClassifiedDetail classified)
    create a classified
    Parameters:
      `classified` - : ClassifiedDetail
    Returns:
      classifiedId : String

  - ### updateClassified

    void updateClassified(ClassifiedDetail classified, boolean notify)
    update the classified and send notification if notify is true
    Parameters:
      `classified` - : ClassifiedDetail
      `notify` - : boolean

  - ### deleteClassified

    void deleteClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)
    delete the classified corresponding to classifiedId
    Parameters:
      `classifiedId` - the unique identifier of the classified.

  - ### deleteAllClassifieds

    void deleteAllClassifieds(String instanceId)
    delete all classifieds for the instance corresponding to instanceId
    Parameters:
      `instanceId` - : String

  - ### draftInClassified

    void draftInClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)
    pass the classified corresponding to classifiedId in draft mode
    Parameters:
      `classifiedId` - the unique identifier of the classified

  - ### draftOutClassified

    void draftOutClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String profile, boolean isValidationEnabled)
    take out draft mode the classified corresponding to classified
    Parameters:
      `classifiedId` - the unique identifier of the classified
      `profile` - a role profile of the user performing the action.
      `isValidationEnabled` - is the validation enabled?

  - ### getAllClassifieds

    Collection<ClassifiedDetail> getAllClassifieds(String instanceId)
    get all classifieds for an instance corresponding to instanceId
    Parameters:
      `instanceId` - : String
    Returns:
      a collection of ClassifiedDetail

  - ### getClassifiedsByUser

    List<ClassifiedDetail> getClassifiedsByUser(String instanceId, String userId)
    get all classifieds for user and instance corresponding to userId and instanceId
    Parameters:
      `instanceId` - : String
      `userId` - : String
    Returns:
      a collection of ClassifiedDetail

  - ### getNbTotalClassifieds

    String getNbTotalClassifieds(String instanceId)
    get the number of classifieds for an instance corresponding to instanceId
    Parameters:
      `instanceId` - : String
    Returns:
      the number of classified : String

  - ### getClassifiedsToValidate

    List<ClassifiedDetail> getClassifiedsToValidate(String instanceId)
    get all classifieds to validate for an instance corresponding to instanceId
    Parameters:
      `instanceId` - : String
    Returns:
      a Collection of ClassifiedDetail

  - ### refusedClassified

    void refusedClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String userId, String refusalMotive)
    pass to status refused because the user corresponding to userId refused the classified corresponding to classifiedId for the given motive.
    Parameters:
      `classifiedId` - unique identifier of a classified
      `userId` - unique identifier of the user refusing the classified
      `refusalMotive` - the text about the motive of the refusal

  - ### validateClassified

    void validateClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId, String userId)
    pass to status validate because the user corresponding to userId validated the classified corresponding to classifiedId
    Parameters:
      `classifiedId` - the unique identifier of a classified.
      `userId` - the unique identifier of the user validating the classified.

  - ### search

    List<ClassifiedDetail> search(org.silverpeas.core.index.search.model.QueryDescription query)
    search all classifieds corresponding to the query
    Parameters:
      `query` - the query from which the search will be performed.
    Returns:
      a collection of ClassifiedDetail

  - ### indexClassifieds

    void indexClassifieds(String instanceId)
    index all the classifieds for the instance corresponding to instanceId
    Parameters:
      `instanceId` - : String

  - ### getAllClassifiedsToUnpublish

    Collection<ClassifiedDetail> getAllClassifiedsToUnpublish(int nbDays, String instanceId)
    get all expiring classifieds (corresponding of a number of day nbDays)
    Parameters:
      `nbDays` - : int
      `instanceId` - : classified component instance id
    Returns:
      a collection of ClassifiedDetail

  - ### createSubscribe

    void createSubscribe(Subscribe subscribe)
    create a subscription
    Parameters:
      `subscribe` - : Subscribe

  - ### deleteSubscribe

    void deleteSubscribe(String subscribeId)
    delete a subscription corresponding to subscribeId
    Parameters:
      `subscribeId` - : String

  - ### unpublishClassified

    void unpublishClassified(org.silverpeas.core.contribution.model.ContributionIdentifier classifiedId)
    Unpublish a subscription corresponding to classifiedId
    Parameters:
      `classifiedId` - the unique identifier of a classified

  - ### getSubscribesByUser

    Collection<Subscribe> getSubscribesByUser(String instanceId, String userId)
    get all subscriptions for user and instance corresponding to userId and instanceId
    Parameters:
      `instanceId` - : String
      `userId` - : String
    Returns:
      a collection of Subscribe

  - ### getUsersBySubscribe

    Collection<String> getUsersBySubscribe(String instanceId, String field1, String field2)
    get all subscribing users to a search corresponding to fields field1 and field2
    Parameters:
      `field1` - : String
      `field2` - : String
    Returns:
      a collection of userId (String)

  - ### deleteAllSubscribes

    void deleteAllSubscribes(String instanceId)
    delete all subscriptions for the instance corresponding to instanceId
    Parameters:
      `instanceId` - unique identifier of a component instance.

  - ### sendSubscriptionsNotification

    void sendSubscriptionsNotification(String field1, String field2, ClassifiedDetail classified)
    send a notification for subscribers to field1 and field2 when classified modified
    Parameters:
      `field1` - the first classified field
      `field2` - the second classified field

  - ### getAllValidClassifieds

    List<ClassifiedDetail> getAllValidClassifieds(String instanceId, String searchField1, String searchField2, int firstItemIndex, int elementsPerPage)
    get all valid classifieds
    Parameters:
      `instanceId` - : String
      `searchField1` - : name of the search field 1
      `searchField2` - : name of the search field 2
      `firstItemIndex` - : index of first item to display
      `elementsPerPage` - : the number of items to render per page
    Returns:
      a collection of ClassifiedDetail

  - ### getAllValidClassifieds

    List<ClassifiedDetail> getAllValidClassifieds(String instanceId)

  - ### setClassification

    void setClassification(ClassifiedDetail classified, String searchField1, String searchField2, String xmlFormName)