Class ItemUpdateBuilder


public class ItemUpdateBuilder extends TermedDocumentUpdateBuilder
Builder for incremental construction of ItemUpdate objects.
  • Method Details

    • forBaseRevisionId

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

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

      public static ItemUpdateBuilder forBaseRevision(ItemDocument revision)
      Creates new builder object for constructing update of given base item entity revision. Provided item document might not represent the latest revision of the item 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 item entity revision to be updated
      Returns:
      update builder object
      Throws:
      NullPointerException - if revision is null
      IllegalArgumentException - if revision has placeholder ID
    • updateStatements

      public ItemUpdateBuilder 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 TermedDocumentUpdateBuilder
      Parameters:
      update - statement update, possibly empty
      Returns:
      this (fluent method)
    • updateLabels

      public ItemUpdateBuilder 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 TermedDocumentUpdateBuilder
      Parameters:
      update - changes in entity labels
      Returns:
      this (fluent method)
    • updateDescriptions

      public ItemUpdateBuilder updateDescriptions(TermUpdate update)
      Description copied from class: TermedDocumentUpdateBuilder
      Updates entity descriptions. 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:
      updateDescriptions in class TermedDocumentUpdateBuilder
      Parameters:
      update - changes in entity descriptions
      Returns:
      this (fluent method)
    • updateAliases

      public ItemUpdateBuilder updateAliases(String language, AliasUpdate update)
      Description copied from class: TermedDocumentUpdateBuilder
      Updates entity aliases. 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:
      updateAliases in class TermedDocumentUpdateBuilder
      Parameters:
      language - language code of the altered aliases
      update - alias changes
      Returns:
      this (fluent method)
    • putSiteLink

      public ItemUpdateBuilder putSiteLink(SiteLink link)
      Adds or replaces site link. If there is no site link for the site key, new site link is added. If a site link with this site key already exists, it is replaced. Site links with other site keys are not touched. Calling this method overrides any previous changes made with the same site key by this method or removeSiteLink(String).

      If base entity revision was provided, attempt to overwrite some site link with identical site link will be silently ignored, resulting in empty update.

      Parameters:
      link - new or replacement site link
      Returns:
      this (fluent method)
      Throws:
      NullPointerException - if link is null
    • removeSiteLink

      public ItemUpdateBuilder removeSiteLink(String site)
      Removes site link. Site links with other site keys are not touched. Calling this method overrides any previous changes made with the same site key by this method or putSiteLink(SiteLink).

      If base entity revision was provided, attempts to remove missing site links will be silently ignored, resulting in empty update.

      Parameters:
      site - site key of the removed site link
      Returns:
      this (fluent method)
      Throws:
      NullPointerException - if site is null
      IllegalArgumentException - if site is blank
    • append

      public ItemUpdateBuilder append(ItemUpdate 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 - item 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 ItemUpdate build()
      Description copied from class: TermedDocumentUpdateBuilder
      Creates new TermedStatementDocumentUpdate object with contents of this builder object.
      Specified by:
      build in class TermedDocumentUpdateBuilder
      Returns:
      constructed object