Class DefaultParametersExtractor<P>

java.lang.Object
dev.orne.test.rnd.params.DefaultParametersExtractor<P>
Type Parameters:
P - The target generation parameters type
All Implemented Interfaces:
ParametersExtractor<P>

@API(status=EXPERIMENTAL, since="0.1") public class DefaultParametersExtractor<P> extends Object implements ParametersExtractor<P>
Default implementation for ParametersExtrator.
Since:
0.1
Version:
1.0, 2022-11
Author:
(w) Iker Hernaez
  • Constructor Details

    • DefaultParametersExtractor

      public DefaultParametersExtractor(@NotNull @NotNull Collection<ParametersSourceExtractor<? super P,?>> extractors)
      Creates a new instance.
      Parameters:
      extractors - The generation parameters source extractors, in priority order
  • Method Details

    • getExtractors

      @NotNull public @NotNull List<ParametersSourceExtractor<? super P,?>> getExtractors()
      Returns the available parameters source extractors.

      The returned list

      Returns:
      The parameters source extractors, in inverse priority order
    • extractParameters

      public void extractParameters(@NotNull P params, @NotNull @NotNull Object... sources)
      Extract the generation parameters from the specified sources.
      Specified by:
      extractParameters in interface ParametersExtractor<P>
      Parameters:
      params - The generation parameters
      sources - The parameter sources to apply
    • extractParameters

      public void extractParameters(@NotNull P params, @NotNull @NotNull Collection<?> sources)
      Extract the generation parameters from the specified sources.
      Specified by:
      extractParameters in interface ParametersExtractor<P>
      Parameters:
      params - The generation parameters
      sources - The parameter sources to apply
    • extract

      protected <T extends P, S> void extract(@NotNull T params, @NotNull S source)
      Tries to populating the specified target parameters extracting the parameter values from the specified source.

      This implementation applied the suitable source extractors in reverse priority order to allow extractors with higher priority to overwrite parameters extracted by lower priority extractors.

      Type Parameters:
      T - The parameters type
      S - The generation parameters source type
      Parameters:
      params - The target parameters
      source - The generation parameters source
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object