new ClassFactory() → {FooTable.ClassFactory}
This is a simple factory for
FooTable.Class
objects allowing them to be registered using a friendly name
and then new instances can be created using this friendly name.
This:
Returns:
Extends
Members
registered :Object
An object containing all registered classes.
Type:
- Object
Methods
(private) _make(klass, args) → {FooTable.Class}
This in effect lets us use the "apply" method on a function using the "new" keyword.
This:
Parameters:
Name | Type | Description |
---|---|---|
klass |
function | |
args |
Returns:
- Type
- FooTable.Class
contains(name) → {boolean}
Checks if the factory contains a class registered using the supplied name.
This:
Parameters:
Name | Type | Description |
---|---|---|
name |
string | The name of the class to check. |
Returns:
- Type
- boolean
load(arg1) → {Array.<FooTable.Class>}
Creates new instances of all registered classes using there priority and the supplied arguments to return them in an array.
This:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
arg1 |
* | The first argument to supply when creating new instances of all registered classes. | |
argN... |
* |
<optional> |
Any number of additional arguments to supply when creating new instances of all registered classes. |
Returns:
- Type
- Array.<FooTable.Class>
make(name, arg1) → {FooTable.Class}
Create a new instance of a single class using the supplied name and arguments.
This:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
name |
string | The name of the class to create. | |
arg1 |
* | The first argument to supply to the new instance. | |
argN... |
* |
<optional> |
Any number of additional arguments to supply to the new instance. |
Returns:
- Type
- FooTable.Class
names() → {Array.<string>}
Gets an array of all registered names.
This:
Returns:
- Type
- Array.<string>
register(name, klass, priority)
Registers a class object using the supplied friendly name and priority. The priority is only taken into account when loading all registered classes
using the
FooTable.ClassFactory#load
method.
This:
Parameters:
Name | Type | Description |
---|---|---|
name |
string | The friendly name of the class. |
klass |
function | The class to register. |
priority |
number | This determines the order that the class is created when using the FooTable.ClassFactory#load method, higher values are loaded first. |