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 Detail

      • 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,
                        Set<Long> contributingRowIds)
        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,
                           Set<Long> contributingRowIds)
        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 Detail

      • 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:
        otherEdit - 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.
        Parameters:
        entityDocument - The current state of the entity. If EntityEdit.requiresFetchingExistingState() returns false, then this parameter may be null, as it should not be required to compute the EntityUpdate.
      • 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.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object