Commit graph

89 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
8d268846ed Change getting of singleton dependency container to be thread-safe 2015-03-28 15:04:34 +01:00
Mike Bierlee
a5f6a1dc32 Finish refactoring for now
It's still not perfect, but traits are real difficult to work with.
2015-03-21 14:30:04 +01:00
Mike Bierlee
29ebb3bc73 Add project identifier to module documentation 2015-03-07 12:36:59 +01:00
Mike Bierlee
06dfb0dc30 Fix imports for release builds 2015-03-07 00:47:36 +01:00
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