{"ref":"artifact:swixfort-sdw-abap-di","page":"/artifacts/swixfort-sdw-abap-di","json":"/artifacts/swixfort-sdw-abap-di.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"swixfort-sdw-abap-di","name":"swixfort/Sdw.Abap.Di","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A dependency-injection container for ABAP: register classes or interfaces, then resolve an object with its dependencies already constructed.","what_it_solves":"Wiring a class's dependencies by hand means constructing every collaborator in order before the object that needs them. Sdw.Abap.Di's container lets a report register classes and interfaces, for example a service class and the two dependencies its constructor imports, then call get_instance to receive the object with those dependencies already constructed and passed in. Registration is case-insensitive, so it does not matter whether a class name is given in upper or lower case."},"links":{"repo":"https://github.com/swixfort/Sdw.Abap.Di"},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:dependency-injection","what_it_does":"Registers classes and interfaces in a container, then constructs and injects their dependencies when get_instance is called for the class that needs them.","sources":[{"url":"https://github.com/swixfort/Sdw.Abap.Di","title":"swixfort/Sdw.Abap.Di — README","checked":"2026-09-14","quote":"Dependency Injection Container for ABAP"}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:swixfort"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"unknown","evidence":"no contributor data"},{"label":"Repository","tier":"unknown","evidence":"no repository data"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"unknown","evidence":"no repository data"}],"practice":[{"label":"Tests","tier":"unknown","evidence":"not crawled"},{"label":"Docs","tier":"unknown","evidence":"not crawled"},{"label":"Changelog","tier":"unknown","evidence":"not crawled"}],"reach":[{"value":null,"unit":"installs/week"},{"value":null,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","repo":"not reachable","unreachable_since":"2026-10-20","unreachable_crawls":3},"edges":{"maintainers":[{"ref":"actor:swixfort","name":"Stefan Wixfort","json":"/actors/swixfort.json"}],"contributors":[],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}