Class KotlinCodeGenerationStrategyBase

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      String getName() The name that is used when the implementing class is listed in a META-INF/services/ file.
      KClass<CONTEXT> getContextType() The type of the generic CONTEXT, used to filter relevant instances.
      KClass<INPUT> getInputType() The type of the generic INPUT, used to filter relevant instances.
      KClass<SPEC> getSpecType() The type of the created SPEC, used to filter relevant instances for execution.
      Integer getOrder() Order is used to sort spi instances.
      abstract SPEC invoke(CONTEXT context, INPUT input) Implements the actual strategy logic to generate a spec from a given input, using context information.
      Boolean test(CONTEXT context, Object input) If true, the spi instance is executed, else ignored.
      String toString()
      • Methods inherited from class io.toolisticon.kotlin.generation.spi.KotlinCodeGenerationStrategy

        execute
      • Methods inherited from class io.toolisticon.kotlin.generation.spi.KotlinCodeGenerationSpi

        compareTo
      • Methods inherited from class java.util.function.BiPredicate

        and, negate, or
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getName

         String getName()

        The name that is used when the implementing class is listed in a META-INF/services/ file. Attention: SPI uses java naming, so inner classes have to be separated by $.

      • getSpecType

         KClass<SPEC> getSpecType()

        The type of the created SPEC, used to filter relevant instances for execution.

      • invoke

         abstract SPEC invoke(CONTEXT context, INPUT input)

        Implements the actual strategy logic to generate a spec from a given input, using context information.

        Parameters:
        context - the context we are operating in
        input - the concrete work item
        Returns:

        the generated spec

      • test

         Boolean test(CONTEXT context, Object input)

        If true, the spi instance is executed, else ignored.

        Parameters:
        context - the context we are operating in
        input - the concrete work item, for the check this is unbound and nullable, so we can check against calling with unsupported types.
        Returns:

        true when the spi shoud be applied.