From: Hiroo H. <hir...@co...> - 2004-08-03 04:39:09
|
Torsten, Thank you for your reply. I'm trying to understand what you wrote, but I could not yet. I'm guessing you are thinking similar thing with me, and I could not express my intention well. Let me try again. First I'm not extending functionality at all. I'm just trying to define a minimum set of methods which a synthdriver have to provide (in other words set of methods which core uses). Now synth driver implements 3 classes Driver BankdDriver extends Driver (optional) Converter extends Driver (optional) Many methods in Driver class does not required for BankDriver and Converter. Extending Driver class is overkill for BankDriver and Converter. Even Driver class itself has many methods which does not required by core. For example Driver.calculateChecksum(IPatch, int, int, int) is a method only to implement Driver.calculateChecksum(IPatch). We don't have to implement Driver.calculateChecksum(IPatch, int, int, int). We need to make clear what a developer of synth driver has to implement. me> 1. interface IDriver (I don't have good name for this now.) me> 2. class Converter implements IDriver me> 3. interface IPatchDriver extends IDriver me> 4. interface ISingleDriver extends IPatchDriver me> 5. interface IBankDriver extends IPatchDriver ISingleDriver is the interface for the current Driver class. IBankDriver is the interface for the current BankDriver class. Converter class is a class which has only methods required for Converter. IDriver is a common set of methods for ISingleDriver, IBankDriver, and Converter. This is required for Device.driverList. IPatchDriver is a common set of methods for ISingleDriver and IBankDriver. This is required by classes which handle both Single Patch and Bank Patch, ex. LibraryFrame. (I use the name "IDriver" for this, but I could not find better name for the IDriver above.) -- Hiroo Hayashi |