Interface IDProviderChange

All Known Subinterfaces:
DatasetChange

public interface IDProviderChange
An IDProvider based change operation.
Since:
5.2.210505
  • Method Details

    • getEventInfo

      @NotNull @NotNull EventInfo getEventInfo()
      Provides the lightweight event info object containing metadata about the element change operation, as seen in the filter.
      Returns:
      The event info object corresponding to this change.
      Since:
      5.2.210505
    • getChangeDetails

      @Experimental @NotNull @NotNull Map<ChangeType,RevisionChangeDetail> getChangeDetails()
      Get revision change details for this element change.
      Returns:
      Change details for this element change.
      Since:
      5.2.250102
      See Also:
    • getChangedLanguages

      @Experimental @NotNull @NotNull Collection<Language> getChangedLanguages()
      If the change is limited to a set of languages, the set of changed languages is returned by this method. If the change is not limited to a set of languages or is not known, all project languages are returned here.
      Returns:
      The changed languages or all project languages, if unknown or not limited.
      Since:
      5.2.250102
    • getElement

      @NotNull @NotNull IDProvider getElement()
      Get the element the of this change operation.
      • In case of an entity related event, this will be a Dataset.
      • If the event was a delete operation, the element is returned in the last revision before its deletion.
      • If the event was a release operation, the element is returned from the release version of the store.
      Returns:
      The element.
      Throws:
      IllegalStateException - Thrown if the element was not found.
      Since:
      5.2.210505
    • isFirstRelease

      @Experimental boolean isFirstRelease(@NotNull @NotNull Language... languages)
      Returns whether this release is the initial release of the element or dataset for the given languages.
      • If called with no arguments, checks all changed languages - equivalent to hasFirstRelease().
      • If called with one or more languages, returns true if at least one of the given languages is released for the first time. Languages not in getChangedLanguages() are treated as not a first release.

      This method is only meaningful for release changes (EventInfo.EventType.ELEMENT_RELEASED / EventInfo.EventType.ENTITY_RELEASED); it returns false for all other event types.

      For datasets: only supported for temporal schemas. Non-temporal schemas always return false.

      Note: This call resolves the pre-event release state and may hit the server on the first invocation. The result is cached per change instance.

      Parameters:
      languages - The languages to check. If empty, all changed languages are checked.
      Returns:
      true if at least one of the given (or changed) languages has no prior release revision.
      Since:
      5.2.260903
    • hasFirstRelease

      @Experimental boolean hasFirstRelease()
      Returns whether at least one of the changed languages is a first release.

      Equivalent to isFirstRelease(Language...) called with no arguments.

      This method is only meaningful for release changes (EventInfo.EventType.ELEMENT_RELEASED / EventInfo.EventType.ENTITY_RELEASED); it returns false for all other event types.

      When the language scope of the change is unknown, getChangedLanguages() returns all project languages; hasFirstRelease() then probes across all of them.

      Note: This call resolves the pre-event release state and may hit the server on the first invocation. The result is cached per change instance, so repeated calls do not cause additional server round-trips.

      Returns:
      true if at least one changed language is released for the first time by this event.
      Since:
      5.2.260903