Class RulesComponentBuilder<B extends RulesComponentBuilder<?,?>,T>
java.lang.Object
software.amazon.smithy.rulesengine.language.RulesComponentBuilder<B,T>
- Type Parameters:
B
- Type of the builderT
- Type of the type that is built
- All Implemented Interfaces:
FromSourceLocation
,SmithyBuilder<T>
- Direct Known Subclasses:
Endpoint.Builder
,EndpointRuleSet.Builder
,EndpointValue.Builder
,FunctionNode.Builder
,Parameter.Builder
,Parameters.Builder
,Partition.Builder
,PartitionOutputs.Builder
,Partitions.Builder
,RegionOverride.Builder
public abstract class RulesComponentBuilder<B extends RulesComponentBuilder<?,?>,T>
extends Object
implements SmithyBuilder<T>, FromSourceLocation
Builder which also tracks sourceLocation of inputs. If no source location is provided, the source location defaults
to the Java file/line number of the caller.
-
Constructor Summary
ConstructorDescriptionRulesComponentBuilder
(FromSourceLocation fromSourceLocation) Creates a builder with the given source location. -
Method Summary
Modifier and TypeMethodDescriptionGets the source location of a value.static SourceLocation
Returns the source code location of the caller.sourceLocation
(FromSourceLocation fromSourceLocation) Sets the source location for the builder.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface software.amazon.smithy.utils.SmithyBuilder
build
-
Constructor Details
-
RulesComponentBuilder
Creates a builder with the given source location.- Parameters:
fromSourceLocation
- the source location for the builder.
-
-
Method Details
-
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.
-
sourceLocation
Sets the source location for the builder.- Parameters:
fromSourceLocation
- the source location to set.- Returns:
- the updated builder.
-
javaLocation
Returns the source code location of the caller. This is very helpful when determining where rules generated from Java-based builders originated.Library-local and JDK stack frames are discarded. If no relevant location can be found, `SourceLocation.none()` is returned.
- Returns:
- The SourceLocation.
-