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 klassfunction argsReturns:
- Type
- FooTable.Class
-
contains(name) → {boolean}
-
Checks if the factory contains a class registered using the supplied name.
This:
Parameters:
Name Type Description namestring 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 subsobject 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 namestring 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 namestring The friendly name of the class. klassfunction The class to register. prioritynumber This determines the order that the class is created when using the FooTable.ClassFactory#load method, higher values are loaded first.