4 * License : The MIT License
5 * Copyright(c) 2009 olyutorskii
8 package jp.sourceforge.jindolf.parser;
10 import java.nio.charset.CharsetDecoder;
14 * {@link StreamDecoder}により呼ばれる。
16 * {@link #startDecoding}が最初で
17 * {@link #endDecoding}が最後。
18 * その間、{@link #charContent}
19 * または{@link #decodingError}が複数回呼ばれる。
20 * 各メソッドは、{@link DecodeException}をスローすることで
23 public interface DecodeHandler{
28 * @throws DecodeException デコードエラー
30 void startDecoding(CharsetDecoder decoder)
31 throws DecodeException;
34 * 正常にデコードした文字列の通知を受け取る。
35 * seqの内容は、ハンドラ呼び出し元で随時変更されうる。
36 * seqの内容を後々再利用するつもりなら、
37 * 制御を呼び出し元に戻すまでの間に必要な箇所をコピーする必要がある。
39 * @throws DecodeException デコードエラー
41 void charContent(CharSequence seq)
42 throws DecodeException;
46 * errorArrayの内容は、ハンドラ呼び出し元で随時変更されうる。
47 * errorArrayの内容を後々再利用するつもりなら、
48 * 制御を呼び出し元に戻すまでの間に必要な箇所をコピーする必要がある。
49 * @param errorArray エラーを引き起こした入力バイトシーケンス。
50 * @param offset errorArrayに含まれるエラーの開始位置。
51 * @param length errorArrayに含まれるエラーのバイト長。
52 * @throws DecodeException デコードエラー
54 void decodingError(byte[] errorArray, int offset, int length)
55 throws DecodeException;
59 * @throws DecodeException デコードエラー
62 throws DecodeException;