Class Symbol.Builder
- java.lang.Object
-
- software.amazon.smithy.codegen.core.Symbol.Builder
-
- All Implemented Interfaces:
SmithyBuilder<Symbol>
- Enclosing class:
- Symbol
public static final class Symbol.Builder extends java.lang.Object implements SmithyBuilder<Symbol>
Builds a Symbol.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Symbol.BuilderaddDependency(java.lang.String packageName, java.lang.String version)Add a symbol dependency.Symbol.BuilderaddDependency(java.lang.String dependencyType, java.lang.String packageName, java.lang.String version)Add a symbol dependency.Symbol.BuilderaddDependency(SymbolDependencyContainer dependency)Add a symbol dependency.Symbol.BuilderaddReference(Symbol reference)Add a symbol reference to indicate that this symbol points to or contains references to other symbols.Symbol.BuilderaddReference(SymbolReference reference)Add a symbol reference to indicate that this symbol points to or contains references to other symbols.Symbolbuild()Creates an immutable object that is created from the properties that have been set on the builder.Symbol.BuilderdeclarationFile(java.lang.String declarationFile)Sets the filename of where this symbol is declared.Symbol.BuilderdefinitionFile(java.lang.String definitionFile)Sets the filename of where this symbol is defined.Symbol.Builderdependencies(java.util.List<SymbolDependency> dependencies)Replaces the symbol dependencies of the symbol.Symbol.Builderdependencies(SymbolDependencyContainer container)Replaces the symbol dependencies of the symbol.Symbol.Buildername(java.lang.String name)Sets the unqualified name of the symbol.Symbol.Buildernamespace(java.lang.String namespace, java.lang.String namespaceDelimiter)Sets the namespace and namespace delimiter of the symbol.Tproperties(java.util.Map<java.lang.String,java.lang.Object> properties)Replaces all of the custom properties.TputProperty(java.lang.String key, java.lang.Object value)Sets a specific custom property.Symbol.Builderreferences(java.util.List<SymbolReference> references)Replaces the symbol references to the symbol.TremoveProperty(java.lang.String key)Removes a specific custom property.
-
-
-
Method Detail
-
build
public Symbol build()
Description copied from interface:SmithyBuilderCreates an immutable object that is created from the properties that have been set on the builder.- Specified by:
buildin interfaceSmithyBuilder<Symbol>- Returns:
- an instance of T
-
name
public Symbol.Builder name(java.lang.String name)
Sets the unqualified name of the symbol.- Parameters:
name- Name to set.- Returns:
- Returns the builder.
-
namespace
public Symbol.Builder namespace(java.lang.String namespace, java.lang.String namespaceDelimiter)
Sets the namespace and namespace delimiter of the symbol.- Parameters:
namespace- Namespace to set.namespaceDelimiter- Namespace delimiter to set.- Returns:
- Returns the builder.
-
definitionFile
public Symbol.Builder definitionFile(java.lang.String definitionFile)
Sets the filename of where this symbol is defined.This value defaults to the value provided for
declarationFileif not present. One of adefinitionFileor adeclarationFilemust be provided for every Symbol.- Parameters:
definitionFile- Filename of where the symbol is defined.- Returns:
- Returns the builder.
-
declarationFile
public Symbol.Builder declarationFile(java.lang.String declarationFile)
Sets the filename of where this symbol is declared.This value defaults to the value provided for
definitionFileif not present. One of adefinitionFileor adeclarationFilemust be provided for every Symbol.- Parameters:
declarationFile- Filename of where the symbol is declared.- Returns:
- Returns the builder.
-
references
public Symbol.Builder references(java.util.List<SymbolReference> references)
Replaces the symbol references to the symbol.- Parameters:
references- References to set.- Returns:
- Returns the builder.
-
addReference
public Symbol.Builder addReference(Symbol reference)
Add a symbol reference to indicate that this symbol points to or contains references to other symbols.- Parameters:
reference- Symbol that is referenced.- Returns:
- Returns the builder.
-
addReference
public Symbol.Builder addReference(SymbolReference reference)
Add a symbol reference to indicate that this symbol points to or contains references to other symbols.- Parameters:
reference- Symbol reference to add.- Returns:
- Returns the builder.
-
dependencies
public Symbol.Builder dependencies(java.util.List<SymbolDependency> dependencies)
Replaces the symbol dependencies of the symbol.- Parameters:
dependencies- Dependencies to set.- Returns:
- Returns the builder.
-
dependencies
public Symbol.Builder dependencies(SymbolDependencyContainer container)
Replaces the symbol dependencies of the symbol.- Parameters:
container- Dependencies to set.- Returns:
- Returns the builder.
-
addDependency
public Symbol.Builder addDependency(SymbolDependencyContainer dependency)
Add a symbol dependency.- Parameters:
dependency- Symbol dependency to add.- Returns:
- Returns the builder.
-
addDependency
public Symbol.Builder addDependency(java.lang.String packageName, java.lang.String version)
Add a symbol dependency.- Parameters:
packageName- Name of the package to depend on.version- Version to depend on.- Returns:
- Returns the builder.
-
addDependency
public Symbol.Builder addDependency(java.lang.String dependencyType, java.lang.String packageName, java.lang.String version)
Add a symbol dependency.- Parameters:
dependencyType- Type of dependency.packageName- Name of the package to depend on.version- Version to depend on.- Returns:
- Returns the builder.
-
putProperty
public T putProperty(java.lang.String key, java.lang.Object value)Sets a specific custom property.- Parameters:
key- Key to set.value- Value to set.- Returns:
- Returns the builder.
-
removeProperty
public T removeProperty(java.lang.String key)
Removes a specific custom property.- Parameters:
key- Key to remove.- Returns:
- Returns the builder.
-
properties
public T properties(java.util.Map<java.lang.String,java.lang.Object> properties)
Replaces all of the custom properties.- Parameters:
properties- Custom properties to replace with.- Returns:
- Returns the builder.
-
-