Class TermedStatementEntityEdit

  • All Implemented Interfaces:
    EntityEdit, StatementEntityEdit
    Direct Known Subclasses:
    ItemEdit

    public abstract class TermedStatementEntityEdit
    extends LabeledStatementEntityEdit
    A class to plan an update of an entity, after evaluating the statements but before fetching the current content of the entity (this is why it does not extend StatementsUpdate).
    Author:
    Antonin Delpeuch
    • Constructor Detail

      • TermedStatementEntityEdit

        public TermedStatementEntityEdit​(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.
        contributingRowIds - the set of row ids which generated this edit
      • TermedStatementEntityEdit

        protected TermedStatementEntityEdit​(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

      • isEmpty

        public boolean isEmpty()
        Returns:
        true when this change leaves the content of the document untouched
      • getDescriptions

        public Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> getDescriptions()
        Returns:
        the list of updated descriptions, overriding existing ones
      • getDescriptionsIfNew

        public Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> getDescriptionsIfNew()
        Returns:
        the list of updated descriptions, only added if new
      • getAliases

        public Set<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> getAliases()
        Returns:
        the list of updated aliases
      • constructTermListMap

        protected Map<String,​List<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue>> constructTermListMap​(Collection<org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue> mltvs)