java.lang.Object
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.readops.AbstractReadOperation
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.readops.AbstractHistoryOperation
Direct Known Subclasses:
GetEntityHistory, GetRelationshipHistory

public abstract class AbstractHistoryOperation extends AbstractReadOperation
Base class that all metadata instance history retrieval operations should implement.
  • Field Details

    • instanceGUID

      protected final String instanceGUID
    • fromTime

      protected final Date fromTime
    • fromElement

      protected final int fromElement
    • pageSize

      protected final int pageSize
    • sequencingOrder

      protected final HistorySequencingOrder sequencingOrder
  • Constructor Details

    • AbstractHistoryOperation

      protected AbstractHistoryOperation(XTDBOMRSRepositoryConnector xtdb, String instanceGUID, Date fromTime, Date toTime, int fromElement, int pageSize, HistorySequencingOrder sequencingOrder)
      Create a new history retrieval operation.
      Parameters:
      xtdb - connectivity to XTDB
      instanceGUID - unique identifier of a metadata instance for which to retrieve history
      fromTime - the earliest point in time from which to retrieve historical versions of the entity (inclusive)
      toTime - the latest point in time from which to retrieve historical versions of the entity (exclusive)
      fromElement - starting element for paged results
      pageSize - the number of results to include per page
      sequencingOrder - Enum defining how the results should be ordered.
  • Method Details

    • getPreviousVersions

      protected List<xtdb.api.XtdbDocument> getPreviousVersions(xtdb.api.IXtdbDatasource db, String reference, Date earliest, HistorySequencingOrder order) throws RepositoryErrorException
      Retrieve the previous versions of the provided XTDB object, from an already-opened point-in-time view of the repository back to the earliest point in time defined by the 'earliest' parameter.
      Parameters:
      db - from which to retrieve the previous version
      reference - indicating the primary key of the object for which to retrieve the previous version
      earliest - the earliest version to retrieve
      order - indicating either chronological (forward) or reverse-chronological (backward) ordering of results
      Returns:
      List<XtdbDocument> with all versions of the XTDB object back to the earliest point specified, ordered as requested
      Throws:
      RepositoryErrorException - if any issue closing the lazy-evaluating cursor