Class DefaultFolderService<P extends Folder>

java.lang.Object
com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P>
com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P>
com.broadleafcommerce.asset.service.DefaultFolderService<P>
All Implemented Interfaces:
FolderService<P>, com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>

public class DefaultFolderService<P extends Folder> extends com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P> implements FolderService<P>
Author:
Samarth Dhruva (samarthd)
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultFolderService(FolderRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    existsByParentFolderId(String folderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Returns whether or not there are any folders with folderId as their Folder.parentFolderId.
    protected FolderRepository<com.broadleafcommerce.data.tracking.core.Trackable>
     
    org.springframework.data.domain.Page<P>
    readAllByContextIds(List<String> folderIds, org.springframework.data.domain.Pageable pageInfo, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Finds all folders with IDs in the supplied list.
    org.springframework.data.domain.Page<P>
    readAllByName(String nameQuery, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageInfo, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Reads all of the folders in the database, optionally filtering by name if specified.
    org.springframework.data.domain.Page<P>
    readAllSubFoldersOfFolder(String folderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageInfo, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Reads all of the folders who have the given folder as a parent.

    Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService

    getRsqlHelper, readAll, readAll, readAll, readAll

    Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService

    convertFromPersistentDomain, convertToPersistentDomain, create, createAll, createAllAllowingPartialSuccess, delete, getHelper, getSortPositionStrategy, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, setSortPositionStrategy, update, updateAll, updateAllAllowingPartialSuccess, updateSort

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService

    create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort

    Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService

    readAll, readAll, readAll, readAll
  • Constructor Details

    • DefaultFolderService

      public DefaultFolderService(FolderRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
  • Method Details

    • readAllByName

      public org.springframework.data.domain.Page<P> readAllByName(@Nullable String nameQuery, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable pageInfo, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: FolderService
      Reads all of the folders in the database, optionally filtering by name if specified.
      Specified by:
      readAllByName in interface FolderService<P extends Folder>
      Parameters:
      nameQuery - the name to search for (optional)
      filters - additional filters to apply in the query, can be null
      pageInfo - pagination information
      contextInfo - the context to perform the operation in
      Returns:
      the requested page of folders from the result of the query
    • readAllByContextIds

      public org.springframework.data.domain.Page<P> readAllByContextIds(List<String> folderIds, @Nullable org.springframework.data.domain.Pageable pageInfo, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: FolderService
      Finds all folders with IDs in the supplied list.
      Specified by:
      readAllByContextIds in interface FolderService<P extends Folder>
      Parameters:
      folderIds - the folder context IDs to search for
      pageInfo - pagination information
      contextInfo - the context to perform the operation in
      Returns:
      the folders that matched with the IDs in the given list
    • readAllSubFoldersOfFolder

      public org.springframework.data.domain.Page<P> readAllSubFoldersOfFolder(@Nullable String folderId, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable pageInfo, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: FolderService
      Reads all of the folders who have the given folder as a parent.
      Specified by:
      readAllSubFoldersOfFolder in interface FolderService<P extends Folder>
      Parameters:
      folderId - the context ID of the folder whose children should be returned. If null, this will return all root folders.
      filters - additional filters to apply in the query, can be null
      pageInfo - pagination information
      contextInfo - the context to perform the operation in
      Returns:
      all of the folders who have the given folder as a parent. Throws EntityMissingException if no folder was found with the given folderId.
    • existsByParentFolderId

      public boolean existsByParentFolderId(String folderId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: FolderService
      Returns whether or not there are any folders with folderId as their Folder.parentFolderId. Essentially, this determines if there are any subfolders directly in the given folder.
      Specified by:
      existsByParentFolderId in interface FolderService<P extends Folder>
      Parameters:
      folderId - the context ID of the parent folder to search for
      contextInfo - the context surrounding sandboxing and mulitenant state
      Returns:
      whether or not there are any folders with folderId as their Folder.parentFolderId
    • getRepository

      protected FolderRepository<com.broadleafcommerce.data.tracking.core.Trackable> getRepository()
      Overrides:
      getRepository in class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P extends Folder>