Skip to content

Conversation

@ehennestad
Copy link
Collaborator

@ehennestad ehennestad commented Jan 24, 2026

Motivation

Improve upon the changes made in PR #705:

  • Use the UnnamedGroupMixin as a superclass also when a type has unnamed datasets (Example: VectorData in DynamicTable)
  • Support scenario where multiple types in a type hierarchy defines unnamed groups and/or unnamed datasets (Example: AlignedDynamicTable).

How to test the behavior?

Show here how to reproduce the new behavior (can be a bug fix or a new feature)

Checklist

  • Have you ensured the PR description clearly describes the problem and solutions?
  • Have you checked to ensure that there aren't other open or previously closed Pull Requests for the same change?
  • If this PR fixes an issue, is the first line of the PR description fix #XX where XX is the issue number?

- Replaces the abstract protected GroupPropertyNames property with a private dependent property and a static protected method for retrieval.
- Adds caching for GroupPropertyNames
-Implements getGroupPropertyNamesAcrossTypeHierarchy to aggregate unnamed group property names across the class hierarchy.
- Updates fillClass to generate appropriate method overrides for classes with anonymous groups or data.
@ehennestad ehennestad marked this pull request as draft January 24, 2026 20:30
Refactored the logic to add 'matnwb.mixin.HasUnnamedGroups' as a superclass by combining checks for 'hasAnonGroups' and 'hasAnonData' into a single condition.
The recursive search should invoked for group-based classes and should only be skipped when the current object is a Set or Anon of a tye which inherits the HasUnnamedGroups mixin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants