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 |