Interface ThingProvider

All Superinterfaces:
Provider<String,Thing>, ProviderFromIRI<Thing>
All Known Subinterfaces:
ThingRepository, ThingRepositoryStore, ThingsRepository
All Known Implementing Classes:
AlwaysThingProvider, AlwaysThingProviderAdapter, AlwaysThingRepositoryStore, EmptyThingsRepository, MetaThingProvider, ProtoToThingRepository, StackedThingProvider, TemplateThingRepository, ThingMemoryRepositoryROBuilder, ThingMemoryRepositoryRW, ThingProviderAdapter
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

Provides Things.

Intentionally named a *Provider and not a *Repository, because implementations may or may not "fetch from" a "data store" (which *Repository often implies); as some might indeed, but others may well not, and just "conjure up" new Things out of thin air, based solely on the IRI!

See ProtoThingProvider for a Proto Thing variant (this is for the Java Thing).

See AlwaysThingProvider for a NonNull variant.