| OLD | NEW |
| 1 // | 1 // |
| 2 // Copyright 2014 Google Inc. All rights reserved. | 2 // Copyright 2014 Google Inc. All rights reserved. |
| 3 // | 3 // |
| 4 // Use of this source code is governed by a BSD-style | 4 // Use of this source code is governed by a BSD-style |
| 5 // license that can be found in the LICENSE file or at | 5 // license that can be found in the LICENSE file or at |
| 6 // https://developers.google.com/open-source/licenses/bsd | 6 // https://developers.google.com/open-source/licenses/bsd |
| 7 // | 7 // |
| 8 | 8 |
| 9 part of charted.core.utils; | 9 part of charted.core.utils; |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 /// Register a component [creator] for [name]. | 23 /// Register a component [creator] for [name]. |
| 24 void register(String name, ObjectCreator<T> creator) { | 24 void register(String name, ObjectCreator<T> creator) { |
| 25 _components[name] = creator; | 25 _components[name] = creator; |
| 26 } | 26 } |
| 27 | 27 |
| 28 /// Create an instance for [name]. | 28 /// Create an instance for [name]. |
| 29 T create(String name) { | 29 T create(String name) { |
| 30 if (!_components.containsKey(name)) { | 30 if (!_components.containsKey(name)) { |
| 31 throw new ArgumentError('Element $name not found in ComponentFactory'); | 31 throw new ArgumentError('Element $name not found in ComponentFactory'); |
| 32 } | 32 } |
| 33 var creator = _components[name], | 33 var creator = _components[name], instance = creator(); |
| 34 instance = creator(); | |
| 35 if (instance == null) { | 34 if (instance == null) { |
| 36 throw new ArgumentError('Component $name initialization failed.'); | 35 throw new ArgumentError('Component $name initialization failed.'); |
| 37 } | 36 } |
| 38 return instance; | 37 return instance; |
| 39 } | 38 } |
| 40 } | 39 } |
| OLD | NEW |