@param mixed $className
@param mixed $name
@param mixed $alias
@param mixed $method

@return $this
4900
public function add($alias, $name = null, $className = null, $method = null)
    {
        if (is_array($alias)) {
            $this->dashboards = array_merge($this->dashboards, $alias);

            return $this;
        }

        $this->dashboards[] = [
            'alias'     => $alias,
            'name'      => $name,
            'class'     => $className,
            'method'    => $method,
        ];

        return $this;
    }
1148614
public function resolveAndCall($className, $method, $arguments = null)
    {
        return $this->call($this->resolveClassName($className), $method, $arguments);
    }
372041
public function addClassAlias($alias, $class)
    {
        $alias = static::normalise($alias);
        $class = static::normalise($class);

        $this->classAliases[$alias] = $class;

        return $this;
    }
1042136
public function from($table, $alias = null) {
        $this->from [] = self::parseAs($table, $alias);

        return $this;
    }
826529
public static function setSingletonName($method)
    {
        $that = self::getInstance(self::$id);

        $that->singleton = $method;
    }
1363602
public function makeClass($alias, array $arguments)
    {
        $reflection = new \ReflectionClass($this->getAlias($alias));

        return $reflection->newInstanceArgs($arguments);
    }
8085
public function registerAlias($class, $alias)
    {
        $alias = trim($alias);
        $class = trim($class);

        $this->__registry->alias($class, $alias);
    }
1039345
public function call($className, $method, $arguments = null)
    {
        $callable = [$className, $method];
        if ($arguments === null) {
            return call_user_func($callable);
        } else {
            return call_user_func_array($callable, $arguments);
        }
    }
903002
public function addAlias(string $name, string $className)
    {
        $this->aliases[$name] = $className;
        return $this;
    }
667053
public function from($table, $alias = null) {
        $this->_table = (string) $table;
        $this->asAlias($alias);

        return $this;
    }
1284098
public function registerClass($alias, $class)
    {
        $classSymbol = new ClassSymbol($alias, $class);
        $this->classes[$alias] = $classSymbol;
        $aliasNamespace = $classSymbol->getAliasNamespace();
        if (!in_array($aliasNamespace, $this->aliasNamespaces, true)) {
            $this->aliasNamespaces[] = $aliasNamespace;
        }
    }
1132501
public function withMethod($method)
    {
        if ($this->getMethod() === $method) {
            return $this;
        }

        $newInstance = clone $this;
        $newInstance->setMethod($method);
        return $newInstance;
    }
135821
public function add(string $alias, CompressionMethod $compressionMethod): self
    {
        if (\array_key_exists($alias, $this->compressionMethods)) {
            throw new \InvalidArgumentException(\sprintf('The alias "%s" already exists.', $alias));
        }
        $this->compressionMethods[$alias] = $compressionMethod;

        return $this;
    }
492207
public function setTransactionMethod($method)
    {
        // check if is array
        if (!is_array($this->transactionMethods)) {
            $this->transactionMethods = [$method];

            return $this;
        }

        // check if method is already in array
        if (!in_array($method, $this->transactionMethods)) {
            $this->transactionMethods[] = $method;
        }

        return $this;
    }
420477
public function addUse($class, $alias = null, $checkClassExists = true)
    {
        if (
            $checkClassExists === true &&
            $this->classFile->isClassDefined("\\{$class}") === false &&
            $this->classFile->isInterfaceDefined("\\{$class}") === false &&
            $this->classFile->isTraitDefined("\\{$class}") === false
        ) {
            throw Exception\ClassUse::classUseNotFound($class);
        }

        $use = new ClassUse($class, $alias);

        $this->append($use);

        return $this;
    }
433981
public function method($name, array $parameters = [])
    {
        $this->_methods[$name] = new MethodInjection($name, $parameters);
        return $this;
    }
238008
public function alias(string $alias): AliasInterface
    {
        if (!in_array($alias, $this->alias)) {
            $this->alias[] = $alias;
        }
        $this->aliasHelper($alias);

        return $this;
    }