Interface ItemDAO

All Superinterfaces:
DSpaceObjectDAO<Item>, DSpaceObjectLegacySupportDAO<Item>, GenericDAO<Item>
All Known Implementing Classes:
ItemDAOImpl

public interface ItemDAO extends DSpaceObjectLegacySupportDAO<Item>
Database Access Object interface class for the Item object. The implementation of this class is responsible for all database calls for the Item object and is autowired by spring This class should only be accessed from a single service and should never be exposed outside of the API
Author:
kevinvandevelde at atmire.com
  • Method Details

    • findAll

      Iterator<Item> findAll(Context context, boolean archived) throws SQLException
      Throws:
      SQLException
    • findAll

      Iterator<Item> findAll(Context context, boolean archived, int limit, int offset) throws SQLException
      Throws:
      SQLException
    • findAll

      @Deprecated Iterator<Item> findAll(Context context, boolean archived, boolean withdrawn) throws SQLException
      Deprecated.
      Throws:
      SQLException
    • findAllRegularItems

      Iterator<Item> findAllRegularItems(Context context) throws SQLException
      Find all items that are: - NOT in the workspace - NOT in the workflow - NOT a template item for e.g. a collection This implies that the result also contains older versions of items and withdrawn items.
      Parameters:
      context - the DSpace context.
      Returns:
      iterator over all regular items.
      Throws:
      SQLException - if database error.
    • findByLastModifiedSince

      Iterator<Item> findByLastModifiedSince(Context context, Instant since) throws SQLException
      Find all Items modified since a Date.
      Parameters:
      context - Context
      since - Earliest interesting last-modified date.
      Returns:
      iterator over items
      Throws:
      SQLException - if database error
    • findBySubmitter

      Iterator<Item> findBySubmitter(Context context, EPerson eperson) throws SQLException
      Throws:
      SQLException
    • findBySubmitter

      Iterator<Item> findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) throws SQLException
      Find all the items by a given submitter. The order is indeterminate. All items are included.
      Parameters:
      context - DSpace context object
      eperson - the submitter
      retrieveAllItems - flag to determine if only archive should be returned
      Returns:
      an iterator over the items submitted by eperson
      Throws:
      SQLException - if database error
    • findBySubmitter

      Iterator<Item> findBySubmitter(Context context, EPerson eperson, MetadataField metadataField, int limit) throws SQLException
      Throws:
      SQLException
    • findByMetadataField

      Iterator<Item> findByMetadataField(Context context, MetadataField metadataField, String value, boolean inArchive) throws SQLException
      Throws:
      SQLException
    • findByMetadataQuery

      List<Item> findByMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids, String regexClause, long offset, int limit) throws SQLException
      Returns all the Items that belong to the specified aollections (if any) and match the provided predicates.
      Parameters:
      context - The relevant DSpace context
      queryPredicates - List of predicates that returned items are required to match
      collectionUuids - UUIDs of the collections to search. If none are provided, the entire repository will be searched.
      regexClause - Syntactic expression used to query the database using a regular expression (e.g.: "value ~ ?")
      offset - The offset for the query
      limit - Maximum number of items to return
      Returns:
      A list containing the items that match the provided criteria
      Throws:
      SQLException - if something goes wrong
    • countForMetadataQuery

      long countForMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids, String regexClause) throws SQLException
      Throws:
      SQLException
    • findByAuthorityValue

      Iterator<Item> findByAuthorityValue(Context context, MetadataField metadataField, String authority, boolean inArchive) throws SQLException
      Throws:
      SQLException
    • findArchivedByCollection

      Iterator<Item> findArchivedByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException
      Throws:
      SQLException
    • findArchivedByCollectionExcludingOwning

      Iterator<Item> findArchivedByCollectionExcludingOwning(Context context, Collection collection, Integer limit, Integer offset) throws SQLException
      Returns all the Items in an iterator that are archived and for which the given Collection is part of the Item's Collections but it is not the owning collection
      Parameters:
      context - The relevant DSpace context
      collection - The collection to check on
      limit - The limit for the query
      offset - The offset for the query
      Returns:
      An iterator containing the items for which the constraints hold true
      Throws:
      SQLException - If something goes wrong
    • countArchivedByCollectionExcludingOwning

      int countArchivedByCollectionExcludingOwning(Context context, Collection collection) throws SQLException
      Counts all the items that are archived and for which the given Collection is part of the Item's Collections but it is not the owning Collection
      Parameters:
      context - The relevant DSpace context
      collection - The collection to check on
      Returns:
      The total amount of items that fit the constraints
      Throws:
      SQLException - If something goes wrong
    • findAllByCollection

      Iterator<Item> findAllByCollection(Context context, Collection collection) throws SQLException
      Throws:
      SQLException
    • findAllByCollection

      Iterator<Item> findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException
      Throws:
      SQLException
    • countItems

      int countItems(Context context, Collection collection, boolean includeArchived, boolean includeWithdrawn, boolean discoverable) throws SQLException
      Count number of items in a given collection
      Parameters:
      context - context
      collection - the collection
      includeArchived - whether to include archived items in count
      includeWithdrawn - whether to include withdrawn items in count
      Returns:
      item count
      Throws:
      SQLException - if database error
    • countItems

      int countItems(Context context, List<Collection> collections, boolean includeArchived, boolean includeWithdrawn, boolean discoverable) throws SQLException
      Count number of unique items across several collections at once. This method can be used with CommunityService.getAllCollections(Context, Community) to determine the unique number of items in a Community.
      Parameters:
      context - context
      collections - the list of collections
      includeArchived - whether to include archived items in count
      includeWithdrawn - whether to include withdrawn items in count
      Returns:
      item count
      Throws:
      SQLException - if database error
    • findAll

      Iterator<Item> findAll(Context context, boolean archived, boolean withdrawn, boolean discoverable, Instant lastModified) throws SQLException
      Get all Items installed or withdrawn, discoverable, and modified since a Date.
      Parameters:
      context - context
      archived - whether to find archived
      withdrawn - whether to find withdrawn
      discoverable - whether to find discoverable
      lastModified - earliest interesting last-modified date.
      Returns:
      iterator over items
      Throws:
      SQLException - if database error
    • countRows

      int countRows(Context context) throws SQLException
      Count total number of items (rows in item table)
      Parameters:
      context - context
      Returns:
      total count
      Throws:
      SQLException - if database error
    • countItems

      int countItems(Context context, boolean includeArchived, boolean includeWithdrawn, boolean discoverable) throws SQLException
      Count number of items based on specific status flags
      Parameters:
      context - context
      includeArchived - whether to include archived items in count
      includeWithdrawn - whether to include withdrawn items in count
      Returns:
      count of items
      Throws:
      SQLException - if database error
    • countItems

      int countItems(Context context, EPerson submitter, boolean includeArchived, boolean includeWithdrawn, boolean discoverable) throws SQLException
      Count number of items from the specified submitter based on specific status flags
      Parameters:
      context - context
      submitter - the submitter
      includeArchived - whether to include archived items in count
      includeWithdrawn - whether to include withdrawn items in count
      Returns:
      count of items
      Throws:
      SQLException - if database error