Class DefaultFeatureInstaller<P>

java.lang.Object
me.devnatan.inventoryframework.feature.DefaultFeatureInstaller<P>
Type Parameters:
P - The feature installer platform.
All Implemented Interfaces:
me.devnatan.inventoryframework.feature.FeatureInstaller<P>

public class DefaultFeatureInstaller<P> extends Object implements me.devnatan.inventoryframework.feature.FeatureInstaller<P>
Simple HashMap-backed feature installer implementation.
  • Field Details

    • featureList

      protected final Map<Class<?>,me.devnatan.inventoryframework.feature.Feature<?,?,P>> featureList
  • Constructor Details

    • DefaultFeatureInstaller

      public DefaultFeatureInstaller(@NotNull P platform)
  • Method Details

    • getPlatform

      @NotNull public P getPlatform()
      Specified by:
      getPlatform in interface me.devnatan.inventoryframework.feature.FeatureInstaller<P>
    • getInstalledFeatures

      public Collection<me.devnatan.inventoryframework.feature.Feature<?,?,P>> getInstalledFeatures()
      Specified by:
      getInstalledFeatures in interface me.devnatan.inventoryframework.feature.FeatureInstaller<P>
    • install

      @NotNull public <C, R> R install(@NotNull @NotNull me.devnatan.inventoryframework.feature.Feature<C,R,P> feature, @NotNull @NotNull UnaryOperator<C> configure)
      Specified by:
      install in interface me.devnatan.inventoryframework.feature.FeatureInstaller<P>
    • uninstall

      public void uninstall(@NotNull @NotNull me.devnatan.inventoryframework.feature.Feature<?,?,P> feature)
      Specified by:
      uninstall in interface me.devnatan.inventoryframework.feature.FeatureInstaller<P>