Interface ObjectExtension<T extends ExtensibleObject<T,E>,E extends ObjectExtension<T,E>>
-
- Type Parameters:
T
- Extensible object typeE
- Extension type
- All Known Subinterfaces:
NormalizedNodeStreamWriterExtension
,StreamWriterMetadataExtension
,StreamWriterMountPointExtension
- All Known Implementing Classes:
ImmutableMetadataNormalizedNodeStreamWriter
,ImmutableMountPointNormalizedNodeStreamWriter
,ImmutableNormalizedMetadataStreamWriter
,JSONNormalizedNodeStreamWriter
,XMLStreamNormalizedNodeStreamWriter
@Beta public interface ObjectExtension<T extends ExtensibleObject<T,E>,E extends ObjectExtension<T,E>>
An extension to a concreteExtensibleObject
. 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.- Author:
- Robert Varga