Commit graph

111 commits

Author SHA1 Message Date
Mike Bierlee 9860624148 Synchronize DependencyContainer
The implication is that dependency containers are now always shared data. In the sense of application context, this is acceptable.
2015-03-28 16:36:02 +01:00
Mike Bierlee 83ad8c64c0 Add test that asserts whether autowiring a class that depends on itself works. 2015-02-23 20:01:44 +01:00
Mike Bierlee 89d82efb11 Refactor getting existing registration to separate function 2015-02-22 19:11:38 +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 1d74064c15 Reintroduce module container 2015-01-25 13:37:14 +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 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 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 92db3c0405 Add "Autowired" alias for "Autowire" UDA to satisfy Spring habits 2014-10-12 17:41:09 +02:00
Mike Bierlee e19564e3cf Fix incorrect clearing of registrations 2014-10-05 13:43:57 +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 c4c57da9eb Clear all registrations after test is done 2014-06-22 17:24:08 +02:00
Mike Bierlee 627d165d6f Add mixin for boilerplate workaround 2014-06-22 17:16:07 +02:00
Mike Bierlee 06024e55db Use typeof instead 2014-06-22 16:52:50 +02:00
Mike Bierlee 47d7f72fae Add test for resolve by interface workaround 2014-06-22 16:33:15 +02:00
Mike Bierlee 17c833a114 Use auto instead of explicit type in autowiretest 2014-06-22 16:13:25 +02:00
Mike Bierlee ad0f36b19a Mark bug test-case as being a bug 2014-06-14 16:05:04 +02:00
Mike Bierlee f97a689f29 Accept defeat and recognize resolve by supertype/interface bug
For now....
2014-06-13 23:49:34 +02:00
Mike Bierlee b66b9d5def Fix autowiring deep circular dependencies 2014-06-04 00:16:24 +02:00
Mike Bierlee 40e9ae4027 Test circular dependency by third-degree
Look I just had to made a term up for these kind of dependencies, okay?
2014-06-02 00:03:03 +02:00
Mike Bierlee a53080c109 Prevent endless recursion on autowiring circular dependencies 2014-06-01 23:49:12 +02:00
Mike Bierlee b0df553ca9 Add test for re-wiring existing members 2014-06-01 23:48:19 +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 60b1149aea Add test for autowiring circular dependencies 2014-05-30 01:19:51 +02:00
Mike Bierlee ec5cad2bbf Add test for autowiring member with different attribute 2014-05-30 01:04:40 +02:00
Mike Bierlee 58d0c2b6e0 Add test for autowiring unregistered types 2014-05-30 00:51:03 +02:00
Mike Bierlee 52936379e4 Autowire upon resolving instances 2014-05-30 00:42:58 +02:00
Mike Bierlee 9e59dc0a37 Fix line delimiter 2014-05-30 00:34:49 +02:00
Mike Bierlee 35acaa84d1 Only autowire members which are null 2014-05-30 00:33:08 +02:00
Mike Bierlee 4957b67b49 Test that you can autowire members declared as an interface type 2014-05-27 02:02:07 +02:00
Mike Bierlee a9e5b315e3 Add autowiring of concrete types in existing instances 2014-05-27 01:54:08 +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 aed449e565 Add test for registering class with single instance scope 2014-05-20 23:07:42 +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 990c9f017b Move test descriptions outide of unittest block to make them readable when collapsed 2014-05-20 21:36:07 +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 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