2 * model exporter for pmd-file(Ext2)
\r
4 * License : The MIT License
\r
5 * Copyright(c) 2010 MikuToga Partners
\r
8 package jp.sourceforge.mikutoga.pmd.pmdexporter;
\r
10 import java.io.IOException;
\r
11 import java.io.OutputStream;
\r
12 import jp.sourceforge.mikutoga.parser.pmd.PmdLimits;
\r
13 import jp.sourceforge.mikutoga.pmd.PmdModel;
\r
14 import jp.sourceforge.mikutoga.pmd.ToonMap;
\r
17 * PMDファイルのエクスポーター(拡張2:任意のトゥーンファイル名対応)。
\r
19 * 物理演算対応以降のPMDファイルフォーマットを
\r
20 * 使いたくない場合はこのエクスポーターを用いて出力せよ。
\r
22 public class PmdExporterExt2 extends PmdExporterExt1{
\r
26 * @param stream 出力ストリーム
\r
27 * @throws NullPointerException 引数がnull
\r
29 public PmdExporterExt2(OutputStream stream)
\r
30 throws NullPointerException{
\r
37 * @param model {@inheritDoc}
\r
38 * @throws IOException {@inheritDoc}
\r
39 * @throws IllegalPmdException {@inheritDoc}
\r
42 public void dumpPmdModel(PmdModel model)
\r
43 throws IOException, IllegalPmdException{
\r
44 super.dumpPmdModel(model);
\r
52 * 独自トゥーンファイルテーブルを出力する。
\r
53 * @param model モデルデータ
\r
54 * @throws IOException 出力エラー
\r
55 * @throws IllegalPmdTextException トゥーンファイル名が長すぎる
\r
57 private void dumpToonMap(PmdModel model)
\r
58 throws IOException, IllegalPmdTextException{
\r
59 ToonMap map = model.getToonMap();
\r
61 for(int idx = 0; idx < PmdLimits.TOON_FIXEDNUM; idx++){
\r
62 String toonName = map.getIndexedToon(idx);
\r
63 if(toonName == null) toonName = "";
\r
64 dumpText(toonName, PmdLimits.MAXBYTES_TOONFILENAME);
\r