Class AbstractExtensionAdder<T extends Extendable<T>,​E extends Extension<T>>

  • All Implemented Interfaces:
    ExtensionAdder<T,​E>

    public abstract class AbstractExtensionAdder<T extends Extendable<T>,​E extends Extension<T>>
    extends Object
    implements ExtensionAdder<T,​E>
    A base class for implementations of ExtensionAdder that holds the extendable to be able build and then add the extension to the extendable. This class calls createExtension(T) that must be overriden by subclasses to create the extension.
    Author:
    Jon Harper
    • Constructor Detail

      • AbstractExtensionAdder

        protected AbstractExtensionAdder​(T extendable)
    • Method Detail

      • createExtension

        protected abstract E createExtension​(T extendable)
        Creates the extension.
        Returns:
        the extension
      • add

        public E add()
        Description copied from interface: ExtensionAdder
        Builds and adds the extension to the extendable which was used to get this extensionAdder. The extendable is returned to allow a fluent style adding of multiple extensions.
        Specified by:
        add in interface ExtensionAdder<T extends Extendable<T>,​E extends Extension<T>>
        Returns:
        the extendable