Commit graph

184 commits

Author SHA1 Message Date
Mike Bierlee
0916e136aa Omit parentheses 2015-02-28 17:16:35 +01:00
Mike Bierlee
264f492292 Get rid of obsolete member reference 2015-02-28 16:59:50 +01:00
Mike Bierlee
3f36b63965 Get member from instance instead 2015-02-28 16:26:57 +01:00
Mike Bierlee
3d6ab10b6d Extracting debug info printing to separate functions 2015-02-28 16:09:32 +01:00
Mike Bierlee
58073dd160 Extract autowiring a member from autowire 2015-02-28 15:51:57 +01:00
Mike Bierlee
89d82efb11 Refactor getting existing registration to separate function 2015-02-22 19:11:38 +01:00
Mike Bierlee
f9c2e257c7 Document public API of module "registration" 2015-02-21 16:11:43 +01:00
Mike Bierlee
8ee25abc58 Document public API of module "dependency" 2015-02-21 16:02:33 +01:00
Mike Bierlee
a9bbb24fcd Use elipses to pretend there's implementation 2015-02-21 02:38:09 +01:00
Mike Bierlee
e3009929a5 Remove deprecated @Autowired alias 2015-02-21 02:33:19 +01:00
Mike Bierlee
ad5695c774 Rename parameter InterfaceType -> SuperType
Direct ancestor types, which are not neccesarily interfaces, can also be used as registration type
2015-02-21 02:16:24 +01:00
Mike Bierlee
6c8e3c81b3 Remove unused exception 2015-02-21 02:14:25 +01:00
Mike Bierlee
7945cc0ea3 Document public API of module "container" 2015-02-21 02:12:27 +01:00
Mike Bierlee
f6a809c54a Improve autowire module documentation 2015-02-21 01:18:07 +01:00
Mike Bierlee
50e754f429 Deprecate @Autowired UDA in favor of using @Autowire
Keeps your codebase consistent. Also this is not Spring.
2015-02-21 01:10:19 +01:00
Mike Bierlee
0d56a4e5c3 Add additional motivation to documentation. 2015-02-15 17:13:59 +01:00
Mike Bierlee
4c51fcada1 Document public API of module "autowire" 2015-02-15 16:52:10 +01:00
Mike Bierlee
586c03bd91 Remove deprecated dependency container alias 2015-02-15 14:52:50 +01:00
Mike Bierlee
e44cdf276a Remove deprecated "autowire in constructor" 2015-02-15 14:52:01 +01:00
Mike Bierlee
cb42ebc8c1 Update copyrights 2015-01-25 21:55:02 +01:00
Mike Bierlee
36992c633a Autowire dependencies using autowired registrations instead of letting the container handle it
This fixes known issue "Resolving a class registered by supertype..."
2015-01-25 21:04:17 +01:00
Mike Bierlee
5ebb5805cf Use instantiation context to decide whether to autowire or not 2015-01-25 19:46:17 +01:00
Mike Bierlee
9d931f511b Add registration class that will autowire instances itself 2015-01-25 15:07:11 +01:00
Mike Bierlee
82ea4369b8 Add master module "dependency" 2015-01-25 13:40:11 +01:00
Mike Bierlee
1d74064c15 Reintroduce module container 2015-01-25 13:37:14 +01:00
Mike Bierlee
99579060d3 Return resolved instances by qualifier type instead 2014-12-30 18:29:32 +01:00
Mike Bierlee
7a628c32c4 Add debug specifier to reduce verbosity of debug output 2014-12-24 00:05:42 +01:00
Mike Bierlee
77cc636e7f Deprecate buggy work-around in favor of qualifiers 2014-12-14 19:25:08 +01:00
Mike Bierlee
2aef9a1760 Autowire using the qualifier type when resolving dependencies
This will make sure the members of sub-types are also autowired, when a qualifier is given.
2014-12-14 19:20:35 +01:00
Mike Bierlee
7bc0382a50 Remove left-over debugging output 2014-12-13 23:16:27 +01:00
Mike Bierlee
7ee67ee836 Specify qualifiers in Autowire UDA instead of using separate UDA 2014-12-13 23:15:43 +01:00
Mike Bierlee
1166d2811a Add @Qualifier UDA for qualifying members typed by supertype 2014-12-13 22:06:11 +01:00
Mike Bierlee
9c749c0cb6 Check type at compile-time 2014-12-11 01:40:40 +01:00
Mike Bierlee
bc972d1371 Reqord and fix message of multiple qualifier resolve exception 2014-11-27 00:46:03 +01:00
Mike Bierlee
8b9c8d2774 Add ability to resolve type which has multiple registrations by qualifier 2014-11-27 00:33:13 +01:00
Mike Bierlee
d6e3043c7d Prevent multiple registrations of same super- and concrete type 2014-11-26 23:37:29 +01:00
Mike Bierlee
5d7a21ae52 Add ability to register multiple concrete classes for same supertype 2014-11-26 23:22:56 +01:00
Mike Bierlee
ae139d5f1f Change names to be more unified 2014-11-26 23:03:18 +01:00
Mike Bierlee
5037b79998 Add copyright back in 2014-11-26 23:01:01 +01:00
Mike Bierlee
4e8555c7da Rename and deprecate "container" module 2014-10-25 16:43:32 +02:00
Mike Bierlee
b2bb6f15c4 Rename "Container" -> "DependencyContainer". Deprecate use of "Container" 2014-10-25 15:24:42 +02:00
Mike Bierlee
e0436438af Add additional debug output to more clearly show the chain of dependency injection 2014-10-13 00:39:40 +02:00
Mike Bierlee
92db3c0405 Add "Autowired" alias for "Autowire" UDA to satisfy Spring habits 2014-10-12 17:41:09 +02:00
Mike Bierlee
b0c880a950 Destroy registrations when clearing them, invoking their destructors 2014-10-06 13:18:32 +02:00
Mike Bierlee
e19564e3cf Fix incorrect clearing of registrations 2014-10-05 13:43:57 +02:00
Mike Bierlee
5caf57d31d Reduce code due to type deduction 2014-07-10 01:09:36 +02:00
Mike Bierlee
b38bccc03c Fix autowiring classes with non-symbolic unassignable members (such as aliases) 2014-07-09 23:15:05 +02:00
Mike Bierlee
edb39c6d54 Add global autowire function 2014-07-04 02:42:55 +02:00
Mike Bierlee
627d165d6f Add mixin for boilerplate workaround 2014-06-22 17:16:07 +02:00
Mike Bierlee
af7d6a7872 Also autowire baseclass members 2014-06-12 01:46:05 +02:00
Mike Bierlee
f123109a5e Add addresses to debug info when autowiring 2014-06-08 15:56:24 +02:00
Mike Bierlee
034837d752 Simplyfy reference to member 2014-06-08 14:53:09 +02:00
Mike Bierlee
b66b9d5def Fix autowiring deep circular dependencies 2014-06-04 00:16:24 +02:00
Mike Bierlee
a53080c109 Prevent endless recursion on autowiring circular dependencies 2014-06-01 23:49:12 +02:00
Mike Bierlee
6b82c35b2e Print autowirings in debug mode 2014-06-01 22:44:02 +02:00
Mike Bierlee
e5484edb19 Apply open-source MIT license 2014-06-01 19:05:02 +02:00
Mike Bierlee
121d871572 Replace type validity check with template parameter specialization 2014-05-31 23:37:02 +02:00
Mike Bierlee
b78e05455d Add removing of registrations 2014-05-31 23:22:29 +02:00
Mike Bierlee
f4ad79003e Remove left-over debug import 2014-05-30 01:19:28 +02:00
Mike Bierlee
14d504a752 Change autowire UDA to be a class instead of enum 2014-05-30 01:09:37 +02:00
Mike Bierlee
52936379e4 Autowire upon resolving instances 2014-05-30 00:42:58 +02:00
Mike Bierlee
35acaa84d1 Only autowire members which are null 2014-05-30 00:33:08 +02:00
Mike Bierlee
a9e5b315e3 Add autowiring of concrete types in existing instances 2014-05-27 01:54:08 +02:00
Mike Bierlee
7d1fe2deda Rename RegistationScope -> CreationScope 2014-05-21 00:27:38 +02:00
Mike Bierlee
cbecebf43f Add existing instance registration scope 2014-05-21 00:26:44 +02:00
Mike Bierlee
bb0a8d5746 Add registration scope for existing instances 2014-05-20 23:54:45 +02:00
Mike Bierlee
abdcd39e9e Add scope setter for new instance scope 2014-05-20 23:36:33 +02:00
Mike Bierlee
8b5122ad91 Add new instance registration scope 2014-05-20 23:31:28 +02:00
Mike Bierlee
2bced68e43 Change reference into class, makes it more easily passed as reference 2014-05-20 23:06:27 +02:00
Mike Bierlee
64e25715cf Add scope setter for single instance scopes 2014-05-20 22:12:14 +02:00
Mike Bierlee
4f2f0fbe59 Add single instance scope, make it the default scope of new registrations 2014-05-20 22:03:50 +02:00
Mike Bierlee
0c084a43b9 Add scope to registration, check for unset scope 2014-05-20 21:54:11 +02:00
Mike Bierlee
ac077c24d7 Move registration to own module 2014-05-20 21:38:14 +02:00
Mike Bierlee
464abd9cb0 Skip validity check on registering concrete type 2014-05-20 01:12:15 +02:00
Mike Bierlee
b18b6ed49c Add global singleton for simplified use of container 2014-05-20 00:35:49 +02:00
Mike Bierlee
27a50a53cf Remove static context from container 2014-05-20 00:23:25 +02:00
Mike Bierlee
da1f604ef7 Add global setting for disabling type validity 2014-05-20 00:16:44 +02:00
Mike Bierlee
423f21230a Throw exception when resolving non-registered type 2014-05-16 02:05:04 +02:00
Mike Bierlee
27d86ce8c7 Fix typo registratedType -> registeredType 2014-05-16 01:38:28 +02:00
Mike Bierlee
cc3c0d5f6d Add type validity check 2014-05-16 01:36:17 +02:00
Mike Bierlee
535f5df482 Allow registration by interfaces 2014-05-16 00:23:06 +02:00
Mike Bierlee
6fb34bb233 Give template parameters more meaningful names 2014-05-15 23:49:42 +02:00
Mike Bierlee
5df222f509 Add resolving of registered types 2014-05-10 14:52:29 +02:00
Mike Bierlee
20e78b8d93 Add registration of concrete classes 2014-05-06 01:32:22 +02:00