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

java.lang.Object
com.powsybl.commons.extensions.AbstractExtensionAdder<T,E>
All Implemented Interfaces:
ExtensionAdder<T,E>
Direct Known Subclasses:
AbstractIidmExtensionAdder, ActivePowerControlAdderImpl, BranchObservabilityAdderImpl, BusbarSectionPositionAdderImpl, CgmesConversionContextExtensionAdderImpl, CgmesModelExtensionAdderImpl, ConnectablePositionAdderImpl, CoordinatedReactiveControlAdderImpl, EntsoeAreaAdderImpl, GeneratorEntsoeCategoryAdderImpl, GeneratorFortescueAdderImpl, GeneratorShortCircuitAdderImpl, GeneratorStartupAdderImpl, HvdcAngleDroopActivePowerControlAdderImpl, HvdcOperatorActivePowerRangeAdderImpl, IdentifiableShortCircuitAdderImpl, InjectionObservabilityAdderImpl, LineFortescueAdderImpl, LinePositionAdderImpl, LoadAsymmetricalAdderImpl, LoadDetailAdderImpl, OperatingStatusAdderImpl, PsseConversionContextExtensionAdderImpl, PsseModelExtensionAdderImpl, RemoteReactivePowerControlAdderImpl, SlackTerminalAdderImpl, StandbyAutomatonAdderImpl, SubstationPositionAdderImpl, ThreeWindingsTransformerFortescueAdderImpl, ThreeWindingsTransformerPhaseAngleClockAdderImpl, TwoWindingsTransformerFortescueAdderImpl, TwoWindingsTransformerPhaseAngleClockAdderImpl, VoltagePerReactivePowerControlAdderImpl, VoltageRegulationAdderImpl

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 <jon.harper at rte-france.com>
  • Field Details

    • extendable

      protected final T extends Extendable<T> extendable
  • Constructor Details

    • AbstractExtensionAdder

      protected AbstractExtensionAdder(T extendable)
  • Method Details

    • 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