package org.openprovenance.prov.model; import org.openprovenance.prov.model.extension.QualifiedAlternateOf; import org.openprovenance.prov.model.extension.QualifiedHadMember; import org.openprovenance.prov.model.extension.QualifiedSpecializationOf; /** Interface to a visitor like functionality operating over PROV statements and bundles. * This visitor returns void. For a visitor that returns an object, see {@link StatementActionValue}. * * <p><span class="strong">Relevant Factory Methods:</span> * <ul> * <li> {@link ProvUtilities#doAction(org.openprovenance.prov.model.StatementOrBundle, org.openprovenance.prov.model.StatementActionValue)} * <li> {@link ProvUtilities#doAction(org.openprovenance.prov.model.StatementOrBundle, org.openprovenance.prov.model.StatementAction)} * <li> {@link ProvUtilities#forAllStatement(java.util.List, org.openprovenance.prov.model.StatementAction)} * <li> {@link ProvUtilities#forAllStatementOrBundle(java.util.List, org.openprovenance.prov.model.StatementAction)} * </ul> * * @author lavm * */ public interface StatementAction { void doAction(Activity s); void doAction(Used s); void doAction(WasStartedBy s); void doAction(Agent s); void doAction(AlternateOf s); void doAction(WasAssociatedWith s); void doAction(WasAttributedTo s); void doAction(WasInfluencedBy s); void doAction(ActedOnBehalfOf s); void doAction(WasDerivedFrom s); void doAction(DictionaryMembership s); void doAction(DerivedByRemovalFrom s); void doAction(WasEndedBy s); void doAction(Entity s); void doAction(WasGeneratedBy s); void doAction(WasInvalidatedBy s); void doAction(HadMember s); void doAction(MentionOf s); void doAction(SpecializationOf s); void doAction(QualifiedSpecializationOf s); void doAction(QualifiedAlternateOf s); void doAction(QualifiedHadMember s); void doAction(DerivedByInsertionFrom s); void doAction(WasInformedBy s); void doAction(Bundle s, ProvUtilities provUtilities); }