Interface ExtensionAdder<T,E extends Extension<T>>

All Known Subinterfaces:
ActivePowerControlAdder<I>, BaseVoltageMappingAdder, BranchObservabilityAdder<B>, BusbarSectionPositionAdder, CgmesControlAreasAdder, CgmesConversionContextExtensionAdder, CgmesDanglingLineBoundaryNodeAdder, CgmesLineBoundaryNodeAdder, CgmesMetadataModelsAdder, CgmesModelExtensionAdder, CgmesTapChangersAdder<C>, CimCharacteristicsAdder, ConnectablePositionAdder<C>, CoordinatedReactiveControlAdder, DiscreteMeasurementsAdder<I>, EntsoeAreaAdder, GeneratorEntsoeCategoryAdder, GeneratorFortescueAdder, GeneratorShortCircuitAdder, GeneratorStartupAdder, HvdcAngleDroopActivePowerControlAdder, HvdcOperatorActivePowerRangeAdder, IdentifiableShortCircuitAdder<I>, InjectionObservabilityAdder<I>, LineFortescueAdder, LinePositionAdder<T>, LoadAsymmetricalAdder, LoadDetailAdder, MeasurementsAdder<C>, OperatingStatusAdder<I>, PsseConversionContextExtensionAdder, PsseModelExtensionAdder, ReferencePrioritiesAdder<C>, ReferenceTerminalsAdder, RemoteReactivePowerControlAdder, SecondaryVoltageControlAdder, SlackTerminalAdder, StandbyAutomatonAdder, SubstationPositionAdder, ThreeWindingsTransformerFortescueAdder, ThreeWindingsTransformerPhaseAngleClockAdder, ThreeWindingsTransformerToBeEstimatedAdder, TwoWindingsTransformerFortescueAdder, TwoWindingsTransformerPhaseAngleClockAdder, TwoWindingsTransformerToBeEstimatedAdder, VoltagePerReactivePowerControlAdder, VoltageRegulationAdder
All Known Implementing Classes:
AbstractExtensionAdder, 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, SecondaryVoltageControlAdderImpl, SlackTerminalAdderImpl, StandbyAutomatonAdderImpl, SubstationPositionAdderImpl, ThreeWindingsTransformerFortescueAdderImpl, ThreeWindingsTransformerPhaseAngleClockAdderImpl, TwoWindingsTransformerFortescueAdderImpl, TwoWindingsTransformerPhaseAngleClockAdderImpl, VoltagePerReactivePowerControlAdderImpl, VoltageRegulationAdderImpl

public interface ExtensionAdder<T,E extends Extension<T>>
An ExtensionAdder is a builder for an extension that is built and then added to an extendable.
Author:
Jon Harper <jon.harper at rte-france.com>
  • Method Summary

    Modifier and Type
    Method
    Description
    add()
    Builds and adds the extension to the extendable which was used to get this extensionAdder.
    Class<? super E>
    Returns the class of the extension.
  • Method Details

    • getExtensionClass

      Class<? super E> getExtensionClass()
      Returns the class of the extension. This is expected to be an interface so that multiple implementors can implement the same extensions. This will be the key at which the extension is added on the extendable. This is meant to be implemented by adder interfaces but not by adder implementations.
      Returns:
      the interface of the extension
    • add

      E add()
      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.
      Returns:
      the extendable