Chemistry class
A singleton store of Atoms and Molecules. Atoms and Molecules can be added and used from anywhere in the program.
Example usage:
var chemistry = Chemistry();
chemistry.addAtom(Atom<int>(defaultValue: 0, key: 'someNumber'));
chemistry.addAtom(Atom<int>(defaultValue: 4, key: 'someOtherNumber'));
chemistry.addMolecule(Molecule<int>(
atoms: [
chemistry.getAtom<int>('someNumber'),
chemistry.getAtom<int>('someOtherNumber')
],
computer: (getAtom) => getAtom<int>('someNumber')!.state +
getAtom<int>('someOtherNumber')!.state,
key: 'someMolecule',
));
// Somewhere else in the program.
print(chemistry.getMolecule<int>('someMolecule')!.state);
Constructors
- Chemistry.new()
-
Returns the instance of this store if it exists, otherwise creates it
and returns the newly created instance.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
addAtom<
T> (Atom< T> atom) → Atom<T> ? -
Adds an Atom to the store.
atom
is the Atom to be added to the store. -
addMolecule<
T> (Molecule< T> molecule) → Molecule<T> ? -
Adds a Molecule to the store.
molecule
the Molecule to be added to the store. -
dispose(
) → void - Calls the dispose() method and all atoms and molecules and then removes them. Think of this as a destructor that you have to call.
-
getAtom<
T> (String key) → Atom< T> ? -
Gets an Atom from the store.
key
the key of the Atom to get. -
getMolecule<
T> (String key) → Molecule< T> ? -
Gets a Molecule from the store.
key
the key of the Molecule to get. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeAtom(
String key) → bool -
Remove an Atom from the store.
key
the key of the Atom to remove. -
removeMolecule(
String key) → bool -
Remove a Molecule from the store.
key
the key of the Molecule to remove. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited