Interface IndexableObject<T extends ReloadableEntity<PK>,PK extends Serializable>

Type Parameters:
PK - the Class of the primary key
All Known Implementing Classes:
AbstractIndexableObject, IndexableClaimedTask, IndexableCollection, IndexableCommunity, IndexableDSpaceObject, IndexableInProgressSubmission, IndexableItem, IndexableLDNNotification, IndexableMetadataField, IndexablePoolTask, IndexableWorkflowItem, IndexableWorkspaceItem

public interface IndexableObject<T extends ReloadableEntity<PK>,PK extends Serializable>
This is the basic interface that a data model entity need to implement to be indexable in Discover
Author:
Andrea Bollini (andrea.bollini at 4science.it)
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the identifier of this indexableObject, this will be the identifier of the object in the database
    Get the entity that is linked to this indexable object
    default Instant
    Return the last modified date of an object, or if no modification dates are stored, return NUll
     
     
    default String
     
    void
    Set the entity that is linked to this indexable object
  • Method Details

    • getType

      String getType()
      Returns:
      the string constant representing the Entity Type, @see Constants
    • getID

      PK getID()
      Return the identifier of this indexableObject, this will be the identifier of the object in the database
      Returns:
      for a DSpaceObject a uuid will be returned, for a tasks or workflow items an integer will be returned
    • getIndexedObject

      T getIndexedObject()
      Get the entity that is linked to this indexable object
      Returns:
      a database entity
    • setIndexedObject

      void setIndexedObject(T object)
      Set the entity that is linked to this indexable object
      Parameters:
      object - the database entity
    • getUniqueIndexID

      default String getUniqueIndexID()
      Returns:
      an unique id to index
    • getTypeText

      String getTypeText()
      Returns:
      a textual alias of the Entity Type @see getType()
    • getLastModified

      default Instant getLastModified()
      Return the last modified date of an object, or if no modification dates are stored, return NUll
      Returns:
      the last modified date