Class Symbol.Builder

  • All Implemented Interfaces:
    software.amazon.smithy.utils.SmithyBuilder<Symbol>
    Enclosing class:
    Symbol

    public static final class Symbol.Builder
    extends java.lang.Object
    implements software.amazon.smithy.utils.SmithyBuilder<Symbol>
    Builds a Symbol.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • build

        public Symbol build()
        Specified by:
        build in interface software.amazon.smithy.utils.SmithyBuilder<Symbol>
      • 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 declarationFile if not present. One of a definitionFile or a declarationFile must 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 definitionFile if not present. One of a definitionFile or a declarationFile must 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.