/**
* @version $Id: IDicExport.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2012/10/17 17:18:27
* @author yukihiro-kinjyo
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.io.command;
import java.io.IOException;
import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.xml.sax.SAXException;
import com.tida_okinawa.corona.io.model.dic.ICoronaDic;
import com.tida_okinawa.corona.io.model.dic.ILabelDic;
import com.tida_okinawa.corona.io.model.dic.IUserDic;
/**
* 辞書エクスポート処理のインタフェース
*
* @author yukihiro-kinjyo
*
*/
public interface IDicExport {
/**
* 辞書エクスポート
*
* @param path
* 出力先ファイルパス
* @param dic
* エクスポート対象の辞書
* @param monitor
* 進捗確認用モニター
* @return OK_STATUS。エラー時は呼び出し側で例外をキャッチする
* @throws IOException
* 出力先ファイルが見つからない。出力文字コードがサポートされていない。
* @throws ParserConfigurationException
* パターン辞書エクスポート時、パースに失敗した
* @throws SAXException
* パターン辞書エクスポート時、XML構造解析に失敗した
*/
public IStatus export(String path, ICoronaDic dic, IProgressMonitor monitor) throws IOException, ParserConfigurationException, SAXException;
/**
* ユーザー辞書エクスポート
* ラベル辞書を選択が必要
*
* @param path
* 出力先ファイルパス
* @param dic
* エクスポート対象の辞書
* @param ldics
* このユーザ辞書に関連するラベル辞書
* @param monitor
* 進捗確認用モニター
* @return 成功したらtrue
* @throws IOException
* 出力先ファイルが見つからない。出力文字コードがサポートされていない。
*/
public IStatus export(String path, IUserDic dic, Set<ILabelDic> ldics, IProgressMonitor monitor) throws IOException;
/**
* 読み書きする文字コードの設定.
* 指定されたファイルに書き込む文字コードを指定する。
*
* @param encode
* 文字コード
*/
public void setEncode(String encode);
/**
* 読み書きする文字コードを取得.
* 指定されたファイルに書き込む文字コードを指定する。
*
* @return 文字コード
*/
public String getEncode();
}