Interface ExtensibleObject<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>

Type Parameters:
O - Type of extensible object
E - Extension marker interface
All Known Subinterfaces:
NormalizedNodeStreamWriter, ReusableStreamReceiver
All Known Implementing Classes:
FormattingNormalizedNodeStreamWriter, ForwardingNormalizedNodeStreamWriter, ImmutableMetadataNormalizedNodeStreamWriter, ImmutableMountPointNormalizedNodeStreamWriter, ImmutableNormalizedNodeStreamWriter, JSONNormalizedNodeStreamWriter, LoggingNormalizedNodeStreamWriter, QNameTransformingStreamWriter, ReusableImmutableNormalizedNodeStreamWriter, XMLStreamNormalizedNodeStreamWriter

public interface ExtensibleObject<O extends ExtensibleObject<O,E>,E extends ObjectExtension<O,E>>
Interface specifying access to extensions attached to a particular object. This functionality is loosely based on Extensible Object pattern.
  • Method Summary

    Modifier and Type
    Method
    Description
    default @NonNull ClassToInstanceMap<E>
    Return a map of currently-supported extensions, along with accessor objects which provide access to the specific functionality bound to this object.
  • Method Details

    • getExtensions

      default @NonNull ClassToInstanceMap<E> getExtensions()
      Return a map of currently-supported extensions, along with accessor objects which provide access to the specific functionality bound to this object.
      Returns:
      A map of supported functionality.