This is the external standard interface of archive providers exposed to the service layer and the world in general. The ArchiveProviderFactory creates and returns providers by this type.
public interface IArchiveProvider : IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin
It is an interface that aggregates the extensible and provider properties of archive provider classes. It is an intermediate stage between the pure property interfaces (IArchiveProviderExtensible, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderHasRows and IArchiveProviderHasEntities) and the actual provider class interfaces that have queries: IArchiveQueryProvider and IArchiveMultiQueryProvider.
It also adds in the SuperOffice.Factory.IPlugin interface, to ensure that all classes implementing this interface also qualify as plugins (though they also need to be tagged with the ArchiveProviderAttribute to be discovered by the factory)..