-
Notifications
You must be signed in to change notification settings - Fork 5
Description
What is currently missing?
Currently if you look at https://github.com/aiven/guardian-for-apache-kafka/blob/main/core-backup/src/main/scala/io/aiven/guardian/kafka/backup/BackupClientInterface.scala both the public interface (i.e. all methods that are public) in BackupClientInterface is mixed with all of the implementation details/backup core logic which are private
How could this be improved?
All of the private implementation details (and implementation of the core logic behind BackupClientInterface itself) should be moved to another trait, likely called BackupClientInterfaceImpl which is package private. BackupClientInterface can then extend BackupClientInterfaceImpl.
This will make it ultra clear what is the public interface, i.e. BackupClientInterface. Can also help with Java interopt since BackupClientInterface will essentially be the same as a Java interface.
Is this a feature you would work on yourself?
- I plan to open a pull request for this feature