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(subs, 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 Argument Description subs
object An object containing classes to substitute on load. 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 Argument 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.