package org.openprovenance.prov.model; /** * Interface for a PROV Statement ({@link Statement}) (a unit of provenance description) or a Bundle ({@link Bundle}) (a named set of provenance statements) * @author lavm * */ public interface StatementOrBundle { /** Gets the type of a provenance statement * @return {@link Kind} */ public Kind getKind(); /** Enumerated type for each type of provenance statement or bundle. */ public enum Kind { PROV_ENTITY, PROV_ACTIVITY, PROV_AGENT, PROV_USAGE, PROV_GENERATION, PROV_INVALIDATION, PROV_START, PROV_END, PROV_COMMUNICATION, PROV_DERIVATION, PROV_ASSOCIATION, PROV_ATTRIBUTION, PROV_DELEGATION, PROV_INFLUENCE, PROV_ALTERNATE, PROV_SPECIALIZATION, PROV_MENTION, PROV_MEMBERSHIP, PROV_BUNDLE, PROV_DICTIONARY_INSERTION, PROV_DICTIONARY_REMOVAL, PROV_DICTIONARY_MEMBERSHIP } }