Class Template
java.lang.Object
software.amazon.smithy.rulesengine.language.syntax.expressions.Template
- All Implemented Interfaces:
FromSourceLocation
,ToNode
Template represents a "Template Literal". This is a literal string within the rules language. A template
can contain 0 or more dynamic sections. The dynamic sections use getAttr short-form:
`https://{Region}.{partition#dnsSuffix}` -------- ------------ | | Dynamic getAttr short form
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
A static template value part.static interface
An interface for parts of a template that can be visited. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> Stream<T>
accept
(TemplateVisitor<T> visitor) boolean
Returns the literal value of this template, throwingRuntimeException
if the template is not static.static Template
fromString
(String s) getParts()
Gets the source location of a value.int
hashCode()
boolean
isStatic()
Gets if the template is static or not.toNode()
Converts a value to aNode
.toString()
Evaluates this template in the provided scope.
-
Constructor Details
-
Template
-
-
Method Details
-
fromString
-
getSourceLocation
Description copied from interface:FromSourceLocation
Gets the source location of a value.- Specified by:
getSourceLocation
in interfaceFromSourceLocation
- Returns:
- Returns the source location of the value.
-
accept
-
getParts
-
isStatic
public boolean isStatic()Gets if the template is static or not.- Returns:
- true if all template parts are literals, false otherwise.
-
expectLiteral
Returns the literal value of this template, throwingRuntimeException
if the template is not static.- Returns:
- returns the string literal value.
-
typeCheck
Evaluates this template in the provided scope.- Parameters:
scope
- the scope to check this template within.- Returns:
- the type of the template.
-
toNode
Description copied from interface:ToNode
Converts a value to aNode
. -
hashCode
public int hashCode() -
equals
-
toString
-