Mike Bierlee
|
3e11ff1e92
|
Add ability to assign new instance to autowired member regardless of registration scope
|
2015-07-06 22:55:40 +02:00 |
|
Mike Bierlee
|
533207226b
|
Use template to get member type instead
|
2015-07-04 14:09:05 +02:00 |
|
Mike Bierlee
|
1ce37e6eda
|
Add autowiring of dynamic arrays
|
2015-07-04 14:06:35 +02:00 |
|
Mike Bierlee
|
53fb0d8116
|
Add resolving all registered types of a certain super type
|
2015-07-04 13:53:47 +02:00 |
|
Mike Bierlee
|
71ac539f2a
|
Add canonical package module
This commit deprecates non-canonical package module "dependency.d".
|
2015-07-01 21:06:55 +02:00 |
|
Mike Bierlee
|
27e7b74e73
|
Add registration option for registering a class by concrete type when registering by supertype
|
2015-05-03 02:03:34 +02:00 |
|
Mike Bierlee
|
d23230faae
|
Restrict access to registration members more tightly
|
2015-05-03 00:54:31 +02:00 |
|
Mike Bierlee
|
eb05f7702f
|
Add registration linking
|
2015-05-03 00:46:51 +02:00 |
|
Mike Bierlee
|
a046e1fd8e
|
Remove unused imports
|
2015-03-28 18:43:03 +01:00 |
|
Mike Bierlee
|
ee88b68a7c
|
Remove unnecessary initOnce
The class is synchronized now. Calls to getInstance is already barricaded by the class-level monitor.
|
2015-03-28 17:49:30 +01:00 |
|
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 |
|
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 |
|