public static final class Symbol.Builder extends java.lang.Object implements SmithyBuilder<Symbol>
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
Symbol.Builder |
addDependency(java.lang.String packageName,
java.lang.String version)
Add a symbol dependency.
|
Symbol.Builder |
addDependency(java.lang.String dependencyType,
java.lang.String packageName,
java.lang.String version)
Add a symbol dependency.
|
Symbol.Builder |
addDependency(SymbolDependencyContainer dependency)
Add a symbol dependency.
|
Symbol.Builder |
addReference(Symbol reference)
Add a symbol reference to indicate that this symbol points to
or contains references to other symbols.
|
Symbol.Builder |
addReference(SymbolReference reference)
Add a symbol reference to indicate that this symbol points to
or contains references to other symbols.
|
Symbol |
build()
Creates an immutable object that is created from the properties
that have been set on the builder.
|
Symbol.Builder |
declarationFile(java.lang.String declarationFile)
Sets the filename of where this symbol is declared.
|
Symbol.Builder |
definitionFile(java.lang.String definitionFile)
Sets the filename of where this symbol is defined.
|
Symbol.Builder |
dependencies(java.util.List<SymbolDependency> dependencies)
Replaces the symbol dependencies of the symbol.
|
Symbol.Builder |
dependencies(SymbolDependencyContainer container)
Replaces the symbol dependencies of the symbol.
|
Symbol.Builder |
name(java.lang.String name)
Sets the unqualified name of the symbol.
|
Symbol.Builder |
namespace(java.lang.String namespace,
java.lang.String namespaceDelimiter)
Sets the namespace and namespace delimiter of the symbol.
|
T |
properties(java.util.Map<java.lang.String,java.lang.Object> properties)
Replaces all of the custom properties.
|
T |
putProperty(java.lang.String key,
java.lang.Object value)
Sets a specific custom property.
|
Symbol.Builder |
references(java.util.List<SymbolReference> references)
Replaces the symbol references to the symbol.
|
T |
removeProperty(java.lang.String key)
Removes a specific custom property.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
requiredState
public Symbol build()
SmithyBuilder
build
in interface SmithyBuilder<Symbol>
public Symbol.Builder name(java.lang.String name)
name
- Name to set.public Symbol.Builder namespace(java.lang.String namespace, java.lang.String namespaceDelimiter)
namespace
- Namespace to set.namespaceDelimiter
- Namespace delimiter to set.public Symbol.Builder definitionFile(java.lang.String definitionFile)
This value defaults to the value provided for declarationFile
if not present. One of a definitionFile
or a declarationFile
must be provided for every Symbol.
definitionFile
- Filename of where the symbol is defined.public Symbol.Builder declarationFile(java.lang.String declarationFile)
This value defaults to the value provided for definitionFile
if not present. One of a definitionFile
or a declarationFile
must be provided for every Symbol.
declarationFile
- Filename of where the symbol is declared.public Symbol.Builder references(java.util.List<SymbolReference> references)
references
- References to set.public Symbol.Builder addReference(Symbol reference)
reference
- Symbol that is referenced.public Symbol.Builder addReference(SymbolReference reference)
reference
- Symbol reference to add.public Symbol.Builder dependencies(java.util.List<SymbolDependency> dependencies)
dependencies
- Dependencies to set.public Symbol.Builder dependencies(SymbolDependencyContainer container)
container
- Dependencies to set.public Symbol.Builder addDependency(SymbolDependencyContainer dependency)
dependency
- Symbol dependency to add.public Symbol.Builder addDependency(java.lang.String packageName, java.lang.String version)
packageName
- Name of the package to depend on.version
- Version to depend on.public Symbol.Builder addDependency(java.lang.String dependencyType, java.lang.String packageName, java.lang.String version)
dependencyType
- Type of dependency.packageName
- Name of the package to depend on.version
- Version to depend on.public T putProperty(java.lang.String key, java.lang.Object value)
key
- Key to set.value
- Value to set.public T removeProperty(java.lang.String key)
key
- Key to remove.public T properties(java.util.Map<java.lang.String,java.lang.Object> properties)
properties
- Custom properties to replace with.