ファイル トランスレータを実装する

ファイル トランスレータを作成するときには MPxFileTranslator クラスから派生させる必要があります。また、どのようなタイプのメソッドがトランスレータに必要か検討することも必要です。

トランスレータがインポータ、エクスポータ、またはその両方である場合、クラスの特定のメソッドを定義する必要があります。トランスレータがファイルを開くことができるかどうかは MPxFileTranslator::canBeOpened() メソッドによって決まるため、このメソッドは非常に重要です。トランスレータをインポートにのみ使用する場合は、false を返すようにこのメソッドを設定します。それ以外の場合、canBeOpened() メソッドはエクスポータに true を返す必要があります。

インポータを実装するには、haveReadMethod() メソッドと reader() メソッドを含める必要があります。これらの 2 つのメソッドは、読み込むファイルがトランスレータによって読み取り可能かどうかを判断します。

エクスポータには、haveWriteMethod() メソッドと writer() メソッドを含める必要があります。これらの 2 つのメソッドにより、トランスレータがサポートするファイル タイプでファイルを保存することができます。これらのメソッドについては、本書の後半で説明します。

最後に、ファイル タイプの拡張子の名前を決定します。