Class FormUpdateBuilder


public class FormUpdateBuilder extends StatementDocumentUpdateBuilder
Builder for incremental construction of FormUpdate objects.
  • Method Details

    • forBaseRevisionId

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

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

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

      public FormUpdateBuilder 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 StatementDocumentUpdateBuilder
      Parameters:
      update - statement update, possibly empty
      Returns:
      this (fluent method)
    • updateRepresentations

      public FormUpdateBuilder updateRepresentations(TermUpdate update)
      Updates form representations. 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.
      Parameters:
      update - changes in form representations
      Returns:
      this (fluent method)
      Throws:
      NullPointerException - if update is null
    • setGrammaticalFeatures

      public FormUpdateBuilder setGrammaticalFeatures(Collection<ItemIdValue> features)
      Sets grammatical features of the form. Any previously assigned grammatical features are removed. To remove all grammatical features without replacement, call this method with empty collection. If base entity revision was provided, attempt to replace grammatical features with identical set is silently ignored, resulting in empty update.
      Parameters:
      features - new grammatical features of the form
      Returns:
      this (fluent method)
      Throws:
      NullPointerException - if features or any of its items is null
      IllegalArgumentException - if any item ID in features is a placeholder ID or if there are duplicate features
    • append

      public FormUpdateBuilder append(FormUpdate 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 - form 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 FormUpdate build()
      Description copied from class: StatementDocumentUpdateBuilder
      Creates new StatementDocumentUpdate object with contents of this builder object.
      Specified by:
      build in class StatementDocumentUpdateBuilder
      Returns:
      constructed object