public static final class TracingSymbolProvider.Builder extends java.lang.Object implements SmithyBuilder<TracingSymbolProvider>
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
TracingSymbolProvider.Builder |
artifactDefinitions(ArtifactDefinitions artifactDefinitions)
Sets this Builder's ArtifactDefinitions.
|
TracingSymbolProvider |
build()
Builds a
TracingSymbolProvider implementation. |
TracingSymbolProvider.Builder |
metadata(TraceMetadata metadata)
Sets this Builder's TraceMetadata.
|
TracingSymbolProvider.Builder |
setTraceMetadataAsDefault(java.lang.String artifactType)
Sets the Builder's
TraceMetadata based on the given type and
default values for other required fields. |
TracingSymbolProvider.Builder |
shapeLinkCreator(java.util.function.BiFunction<Shape,Symbol,java.util.List<ShapeLink>> shapeLinkCreator)
Sets this Builder's shapeLinkCreator.
|
TracingSymbolProvider.Builder |
symbolProvider(SymbolProvider symbolProvider)
Sets this Builder's SymbolProvider.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
requiredState
public TracingSymbolProvider.Builder artifactDefinitions(ArtifactDefinitions artifactDefinitions)
artifactDefinitions
- ArtifactDefinitions for this TracingSymbolProvider's
TraceFile.public TracingSymbolProvider.Builder metadata(TraceMetadata metadata)
metadata
- TraceMetadata for this TracingSymbolProvider's
TraceFile.public TracingSymbolProvider.Builder setTraceMetadataAsDefault(java.lang.String artifactType)
TraceMetadata
based on the given type and
default values for other required fields. This method should ONLY be used
when the version, type, homepage, and typeVersion of the TraceMetadata
object is unknown at the time of code generation. This method will ONLY set
the required fields of the TraceMetadata
.
The type is set to the artifactType that is passed in. The artifactType is the code language of the generated artifact, e.g. Java.
The timestamp in TraceMetadata is set to the current time when the method is called.
The id and version are set to a UUID that should be changed after the TraceFile is constructed and the correct id and version are known.
artifactType
- The type, i.e. language, of the TraceMetadata object.public TracingSymbolProvider.Builder shapeLinkCreator(java.util.function.BiFunction<Shape,Symbol,java.util.List<ShapeLink>> shapeLinkCreator)
shapeLinkCreator
- A Function that defines a mapping
from a Symbol to a List of ShapeLinks.public TracingSymbolProvider.Builder symbolProvider(SymbolProvider symbolProvider)
symbolProvider
- The SymbolProvider that the
TracingSymbolProvider will decorate.public TracingSymbolProvider build()
TracingSymbolProvider
implementation.build
in interface SmithyBuilder<TracingSymbolProvider>