Interface ObjectExtension<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>
- Type Parameters:
O
- Extensible object typeE
- Extension type
- All Known Subinterfaces:
NormalizedNodeStreamWriter.Extension
,NormalizedNodeStreamWriter.MetadataExtension
,NormalizedNodeStreamWriter.MountPointExtension
- All Known Implementing Classes:
ImmutableMetadataExtension
,ImmutableMetadataNormalizedNodeStreamWriter
,ImmutableMountPointNormalizedNodeStreamWriter
,JSONNormalizedNodeStreamWriter
,XMLStreamNormalizedNodeStreamWriter
public interface ObjectExtension<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>
An extension to a concrete
ExtensibleObject
. This is a marker interface to introduce type safety and unlike
full Extensible Objects, does not specify how extensions are attached to an extensible object.
ObjectExtension
instances are attached to their host object and share its state, which means they work in
concert and care must be taken to ensure consistency, such as thread safety and observable effects.