Skip to content

Conversation

@HeikoKlare
Copy link
Contributor

To ensure proper restricted access to specific functionality of Image's internal ImageHandle class, a hierarchy of classes with different visibilities is currently used. To better express that there is just a single type to instantiate and that access restriction is supposed to be done by only providing specific methods to specific consumers, this change replaces the existing class hierarchy with a single implementation class and a conversion of the existing other classes with interfaces. It also further restricts access to several methods of ImageHandle (zoom(), bounds(), isDisposed()) that are not required to be public.

@HeikoKlare HeikoKlare force-pushed the imagehandle-interfaces branch from ffde787 to e27802b Compare January 8, 2026 13:53
@github-actions
Copy link
Contributor

github-actions bot commented Jan 8, 2026

Test Results (win32)

   34 files  ±0     34 suites  ±0   4m 27s ⏱️ -35s
4 632 tests ±0  4 559 ✅ ±0  73 💤 ±0  0 ❌ ±0 
  167 runs  ±0    164 ✅ ±0   3 💤 ±0  0 ❌ ±0 

Results for commit c772f7b. ± Comparison against base commit 9602bf0.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@amartya4256 amartya4256 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes look good and add a better abstraction to the class. I have added a small suggestion. Overall I was questioning if the name of the interfaces are still relevant or could be made clearer.

To ensure proper restricted access to specific functionality of Image's
internal ImageHandle class, a hierarchy of classes with different
visibilities is currently used. To better express that there is just a
single type to instantiate and that access restriction is supposed to be
done by only providing specific methods to specific consumers, this
change replaces the existing class hierarchy with a single
implementation class and a conversion of the existing other classes with
interfaces. It also further restricts access to several methods of
ImageHandle (zoom(), bounds(), isDisposed()) that are not required to be
public.
@HeikoKlare HeikoKlare force-pushed the imagehandle-interfaces branch from b7df12b to c772f7b Compare January 9, 2026 14:51
@HeikoKlare HeikoKlare merged commit fb7e37d into eclipse-platform:master Jan 9, 2026
17 checks passed
@HeikoKlare HeikoKlare deleted the imagehandle-interfaces branch January 9, 2026 15:12
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.

Replace ImageHandle class hierarchy with interfaces

2 participants