Class MediaInfoUpdateBuilder


public class MediaInfoUpdateBuilder extends LabeledDocumentUpdateBuilder
Builder for incremental construction of MediaInfoUpdate objects.
  • Method Details

    • forBaseRevisionId

      public static MediaInfoUpdateBuilder forBaseRevisionId(MediaInfoIdValue mediaInfoId, long revisionId)
      Creates new builder object for constructing update of media entity with given revision ID.
      Parameters:
      mediaInfoId - ID of the media entity that is to be updated
      revisionId - ID of the base media entity revision to be updated or zero if not available
      Returns:
      update builder object
      Throws:
      NullPointerException - if mediaInfoId is null
      IllegalArgumentException - if mediaInfoId is a placeholder ID
    • forEntityId

      public static MediaInfoUpdateBuilder forEntityId(MediaInfoIdValue mediaInfoId)
      Creates new builder object for constructing update of media entity with given ID.
      Parameters:
      mediaInfoId - ID of the media entity that is to be updated
      Returns:
      update builder object
      Throws:
      NullPointerException - if mediaInfoId is null
      IllegalArgumentException - if mediaInfoId is a placeholder ID
    • forBaseRevision

      public static MediaInfoUpdateBuilder forBaseRevision(MediaInfoDocument revision)
      Creates new builder object for constructing update of given base media entity revision. Provided media document might not represent the latest revision of the media entity as currently stored in Wikibase. It will be used for validation in builder methods. If the document has revision ID, it will be used to detect edit conflicts.
      Parameters:
      revision - base media entity revision to be updated
      Returns:
      update builder object
      Throws:
      NullPointerException - if revision is null
      IllegalArgumentException - if revision has placeholder ID
    • updateStatements

      public MediaInfoUpdateBuilder updateStatements(StatementUpdate update)
      Description copied from class: StatementDocumentUpdateBuilder
      Updates entity statements. If this method is called multiple times, changes are accumulated. If base entity revision was provided, the update is checked against it and redundant changes are silently ignored, resulting in empty update.
      Overrides:
      updateStatements in class LabeledDocumentUpdateBuilder
      Parameters:
      update - statement update, possibly empty
      Returns:
      this (fluent method)
    • updateLabels

      public MediaInfoUpdateBuilder updateLabels(TermUpdate update)
      Description copied from class: LabeledDocumentUpdateBuilder
      Updates entity labels. If this method is called multiple times, changes are accumulated. If base entity revision was provided, redundant changes are silently ignored, resulting in empty update.
      Overrides:
      updateLabels in class LabeledDocumentUpdateBuilder
      Parameters:
      update - changes in entity labels
      Returns:
      this (fluent method)
    • apply

      public MediaInfoUpdateBuilder apply(MediaInfoUpdate update)
      Replays all changes in provided update into this builder object. Changes from the update are added on top of changes already present in this builder object.
      Parameters:
      update - media update to replay
      Returns:
      this (fluent method)
      Throws:
      NullPointerException - if update is null
      IllegalArgumentException - if update cannot be applied to base entity revision (if available)
    • build

      public MediaInfoUpdate build()
      Description copied from class: LabeledDocumentUpdateBuilder
      Creates new LabeledStatementDocumentUpdate object with contents of this builder object.
      Specified by:
      build in class LabeledDocumentUpdateBuilder
      Returns:
      constructed object