You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 20, 2026. It is now read-only.
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.
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
BackupClientInterfaceis mixed with all of the implementation details/backup core logic which are privateHow could this be improved?
All of the private implementation details (and implementation of the core logic behind
BackupClientInterfaceitself) should be moved to another trait, likely calledBackupClientInterfaceImplwhich is package private.BackupClientInterfacecan then extendBackupClientInterfaceImpl.This will make it ultra clear what is the public interface, i.e.
BackupClientInterface. Can also help with Java interopt sinceBackupClientInterfacewill essentially be the same as a Javainterface.Is this a feature you would work on yourself?