Creates a new Container
The container options
Specifies the parent. Should be provided using Container.addChild
Returns if this container is empty
Adds a child container to this container
The child container name
Options for child container
Adds a new namespace
The namespace name
If provided, uses this object as a namespace resolver
Check Namespace.bind
Check Namespace.bind
The namespace to use
Resolves all dependencies required by clazz and then creates a new instance
Return value of clazz (Which is an instance)
The class to resolve dependencies and create a new instance from
Additional parameters to be passed to the constructor
Returns a child container
The child container name
Returns a namespace, or undefined if the namespace is custom (e.g. invoked Container.addNamespace with second parameter)
The namespace to get
Check Namespace.rebind
Check Namespace.rebind
The namespace to use
Removes a child container only if its empty
The child container name
Removes a custom namespace if the canBeRemoved function returns true or a native one if its not empty
The namespace to remove
Resolves an injection entry
An injection entry (e.g. "house:SmallHouse")
Filter passed to Namespace.resolve
Resolves an injection entry and returns an array
An injection entry (e.g. "house:SmallHouse")
Filter passed to Namespace.resolve
If true, this will resolve an array. The array size can be controlled using {@link Filter.arrayMaxSize}
Check Namespace.unbind
The namespace to use
A container manages a map of namespaces