Class ItemEdit

All Implemented Interfaces:
EntityEdit, StatementEntityEdit

public class ItemEdit extends TermedStatementEntityEdit
Represents a candidate edit on an existing item or the creation of a new one. This is the representation before any comparison with existing data.
Author:
Antonin Delpeuch
  • Constructor Details

    • ItemEdit

      public ItemEdit(org.wikidata.wdtk.datamodel.interfaces.EntityIdValue id, List<StatementEdit> statements, Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> labels, Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> labelsIfNew, Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> descriptions, Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> descriptionsIfNew, Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> aliases)
      Constructor.
      Parameters:
      id - the subject of the document. It can be a reconciled entity value for new entities.
      statements - the statements to change on the entity.
      labels - the labels to add on the entity, overriding any existing one in that language
      labelsIfNew - the labels to add on the entity, only if no label for that language exists
      descriptions - the descriptions to add on the item, overriding any existing one in that language
      descriptionsIfNew - the descriptions to add on the item, only if no description for that language exists
      aliases - the aliases to add on the item. In theory their order should matter but in practice people rarely rely on the order of aliases so this is just kept as a set for simplicity.
    • ItemEdit

      protected ItemEdit(org.wikidata.wdtk.datamodel.interfaces.EntityIdValue id, List<StatementEdit> statements, Map<String,org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> labels, Map<String,org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> labelsIfNew, Map<String,org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> descriptions, Map<String,org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> descriptionsIfNew, Map<String,List<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue>> aliases)
      Protected constructor to avoid re-constructing term maps when merging two entity updates. No validation is done on the arguments, they all have to be non-null.
      Parameters:
      id - the subject of the update
      statements - the statements to add or delete
      labels - the labels to add on the entity, overriding any existing one in that language
      labelsIfNew - the labels to add on the entity, only if no label for that language exists
      descriptions - the descriptions to add on the item, overriding any existing one in that language
      descriptionsIfNew - the descriptions to add on the item, only if no description for that language exists
      aliases - the aliases to add
  • Method Details

    • merge

      public ItemEdit merge(EntityEdit otherEdit)
      Merges all the changes in other with this instance. Both updates should have the same subject. Changes coming from `other` have priority over changes from this instance. This instance is not modified, the merged update is returned instead.
      Parameters:
      other - the other change that should be merged
    • toEntityUpdate

      public org.wikidata.wdtk.datamodel.interfaces.EntityUpdate toEntityUpdate(org.wikidata.wdtk.datamodel.interfaces.EntityDocument entityDocument)
      In case the subject id is not new, returns the corresponding update given the current state of the entity.
    • toNewEntity

      public org.wikidata.wdtk.datamodel.interfaces.ItemDocument toNewEntity()
      In case the subject id is new, returns the corresponding new item document to be created.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object