Files
DP44/docs/ai/DataPRO/Modules/TestSetups/CachedItemsList.md
2026-04-17 14:55:32 -04:00

2.9 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/Modules/TestSetups/CachedItemsList/CachedItemsListModule.cs
2026-04-17T16:16:03.436010+00:00 zai-org/GLM-5-FP8 1 a74bedf4b2a5cfaf

CachedItemsList

Purpose

This module serves as the Prism module initializer for the CachedItemsList feature, responsible for registering the CachedItemsList view and view model with the Unity dependency injection container. It provides assembly metadata used by the application shell to display and categorize the module within the "Prepare" assembly group.

Public Interface

CachedItemsListModule

  • CachedItemsListModule(IUnityContainer unityContainer) - Constructor accepting the injected Unity container.
  • void Initialize() - Registers ICachedItemsListViewCachedItemsListView and ICachedItemsListViewModelCachedItemsListViewModel with Unity.
  • void OnInitialized(IContainerProvider containerProvider) - Empty implementation.
  • void RegisterTypes(IContainerRegistry containerRegistry) - Delegates to Initialize().

CachedItemsListModuleNameAttribute (extends TextAttribute)

  • string AssemblyName { get; } - Returns AssemblyNames.CachedItemsList.ToString().
  • Type GetAttributeType() - Returns typeof(TextAttribute).
  • string GetAssemblyName() - Returns the assembly name.

CachedItemsListModuleImageAttribute (extends ImageAttribute)

  • BitmapImage AssemblyImage { get; } - Loads image via AssemblyInfo.GetImage(AssemblyNames.CachedItemsList.ToString()).
  • string AssemblyName { get; } - Returns AssemblyNames.CachedItemsList.ToString().
  • string AssemblyGroup { get; } - Returns eAssemblyGroups.Prepare.ToString().
  • eAssemblyRegion AssemblyRegion { get; } - Returns eAssemblyRegion.CachedItemsListRegion.
  • BitmapImage GetAssemblyImage(), string GetAssemblyName(), string GetAssemblyGroup(), eAssemblyRegion GetAssemblyRegion() - Accessor methods.

Invariants

  • The module must be constructed with a non-null IUnityContainer instance.
  • Assembly-level attributes are applied exactly once per assembly.
  • The module is exported as IModule and registered with Prism under the name "CachedItemsListModule".

Dependencies

Depends on:

  • DTS.Common (provides AssemblyNames, AssemblyInfo, eAssemblyGroups, eAssemblyRegion, TextAttribute, ImageAttribute)
  • DTS.Common.Interface
  • DTS.Common.Interface.TestSetups.CachedItemsList (provides ICachedItemsListView, ICachedItemsListViewModel)
  • Prism.Ioc, Prism.Modularity
  • Unity
  • System.ComponentModel.Composition

Depended on by: Not determinable from source alone.

Gotchas

  • Same discrepancy as TestSetupsListModule: the comment claims "singleton" registration but RegisterType is used without singleton lifetime configuration.
  • The _img field in CachedItemsListModuleImageAttribute is set both in the property getter and the constructor, potentially causing redundant image loading.