java.lang.Object
software.amazon.smithy.rulesengine.language.syntax.SyntaxElement
software.amazon.smithy.rulesengine.language.syntax.parameters.Parameter
All Implemented Interfaces:
FromSourceLocation, ToNode, ToCondition, ToExpression, ToSmithyBuilder<Parameter>

public final class Parameter extends SyntaxElement implements ToSmithyBuilder<Parameter>, FromSourceLocation, ToNode
A rule-set parameter, representing a value usable in conditions and rules.
  • Field Details

  • Method Details

    • fromNode

      public static Parameter fromNode(StringNode name, ObjectNode objectNode) throws RuleError
      Creates a Parameter instance from the given Node information.
      Parameters:
      name - the name of the parameter being deserialized.
      objectNode - the node to deserialize.
      Returns:
      the created Parameter.
      Throws:
      RuleError
    • builder

      public static Parameter.Builder builder()
      Builder to create a Parameter instance.
      Returns:
      returns a new Builder.
    • getSourceLocation

      public SourceLocation getSourceLocation()
      Description copied from interface: FromSourceLocation
      Gets the source location of a value.
      Specified by:
      getSourceLocation in interface FromSourceLocation
      Returns:
      Returns the source location of the value.
    • getName

      public Identifier getName()
      Gets the parameter name.
      Returns:
      returns the parameter name as an Identifier.
    • getTemplate

      public String getTemplate()
      Gets the parameter in template form.
      Returns:
      returns the template form of the parameter.
    • template

      public String template()
      Description copied from class: SyntaxElement
      Converts this expression to a string template. By default, this implementation returns a RuntimeException.
      Overrides:
      template in class SyntaxElement
      Returns:
      the String template.
    • isRequired

      public boolean isRequired()
      Gets if the parameter is required or not.
      Returns:
      true if the parameter is required, false otherwise.
    • getType

      public ParameterType getType()
      Gets the documentation value.
      Returns:
      returns the optional documentation value.
    • toType

      public Type toType()
      Gets a Type for the parameter's type.
      Returns:
      a Type for the parameter.
    • getBuiltIn

      public Optional<String> getBuiltIn()
      Gets the built-in parameter name.
      Returns:
      returns the optional built-in parameter name.
    • isBuiltIn

      public boolean isBuiltIn()
      Gets if the parameter uses a built-in parameter.
      Returns:
      returns true if the parameter uses a built-in, false otherwise.
    • getDeprecated

      public Optional<Deprecated> getDeprecated()
      Gets the deprecated status.
      Returns:
      returns the optional deprecated state.
    • getValue

      public Optional<Value> getValue()
      Gets the parameter's value.
      Returns:
      returns the optional value.
    • getDocumentation

      public Optional<String> getDocumentation()
      Gets the documentation value.
      Returns:
      returns the optional documentation value.
    • getDefault

      public Optional<Value> getDefault()
      Gets the parameter's default value.
      Returns:
      returns the optional default value.
    • toConditionBuilder

      public Condition.Builder toConditionBuilder()
      Description copied from interface: ToCondition
      Convert this into a condition builder for compositional use.
      Specified by:
      toConditionBuilder in interface ToCondition
      Returns:
      the condition builder.
    • toExpression

      public Expression toExpression()
      Description copied from interface: ToExpression
      Convert this into an expression.
      Specified by:
      toExpression in interface ToExpression
      Returns:
      the expression.
    • toBuilder

      public Parameter.Builder toBuilder()
      Description copied from interface: ToSmithyBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToSmithyBuilder<Parameter>
      Returns:
      a builder for type T
    • toNode

      public Node toNode()
      Description copied from interface: ToNode
      Converts a value to a Node.
      Specified by:
      toNode in interface ToNode
      Returns:
      Returns the creates Node.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object