Class BddEndpointProviderSpec

java.lang.Object
software.amazon.awssdk.codegen.poet.rules.bdd.BddEndpointProviderSpec
All Implemented Interfaces:
ClassSpec

public class BddEndpointProviderSpec extends Object implements ClassSpec
Generates the BDD (binary decision diagram) based endpoint provider using a smithy-java-inspired approach: each BDD node is emitted as a nodeP<i> method that returns Endpoint directly (null for no-match). When a complement edge references a node, a nodeN<i> variant is also emitted with swapped branches (condition true → lowRef, false → highRef). Simple conditions (isSet, booleanEquals, stringEquals on plain register references) are inlined as ternary expressions. Complex conditions that compute and store values are emitted as separate cond<i>() methods.

The evaluator is allocated per call (lightweight — just register fields, no maps). The shared RulesFunctions helpers it calls are stateless.

  • Constructor Details

    • BddEndpointProviderSpec

      public BddEndpointProviderSpec(IntermediateModel intermediateModel)
  • Method Details

    • poetSpec

      public com.squareup.javapoet.TypeSpec poetSpec()
      Specified by:
      poetSpec in interface ClassSpec
      Returns:
      The actual class specification generated from a PoetSpec.builder()... implementation
    • className

      public com.squareup.javapoet.ClassName className()
      Specified by:
      className in interface ClassSpec
      Returns:
      The Poet representation of the class being generated, this may be used by other classes