Package one.microstream.typing
Interface Composition
- All Known Subinterfaces:
ChainKeyValueStorage<K,V,EN>
,ChainStorage<E,K,V,EN>
,ChainStorage.Entry<E,K,V,EN>
,Set_long
- All Known Implementing Classes:
_intList
,_intSet
,AbstractChainEntry
,AbstractChainEntry.Head
,AbstractChainEntryLinked
,AbstractChainEntryLinkedHashed
,AbstractChainEntryLinkedKV
,AbstractChainEntryLinkedKVHashed
,AbstractChainKeyValueStorage
,AbstractChainStorage
,BulkList
,ChainEntryLinkedHashedStrong
,ChainEntryLinkedStrong
,ChainStorageStrong
,ChainStrongStrongStorage
,ConstHashEnum
,ConstHashTable
,ConstList
,EqBulkList
,EqConstHashEnum
,EqConstHashTable
,EqConstList
,EqHash2DMap
,EqHashEnum
,EqHashTable
,FixedList
,HashEnum
,HashMapIdId
,HashMapIdObject
,HashMapObjectId
,HashTable
,LimitList
,MiniMap
,Set_long.Default
,Substituter.Default
public interface Composition
Marker type to indicate that a certain implementation is a composition (is composed of unshared objects).
This is usefull (or even necessary) for having a means of distinguishing generically handlable implementations
from implementations that require (or at least suggest) tailored generic treatment, e.g. for a persistence layer
to persist the unshared objects in an inlined fashion rather than storing an external reference.
This is done via an interface instead of an annotations because the design aspect to be represented is a typical "is-a" relation and because annotation should actually not alter programm behavior.
- See Also:
ComponentType