/**
* PMDモデルファイルのパーサ拡張その1。
- * ※英名対応
+ * <p>※ 英名対応
*/
public class PmdParserExt1 extends PmdParserBase {
- private PmdEngHandler engHandler = null;
+ private PmdEngHandler engHandler = NullHandler.HANDLER;
private boolean hasEnglishInfo = true;
/**
* @param handler ハンドラ
*/
public void setEngHandler(PmdEngHandler handler){
- this.engHandler = handler;
+ if(handler == null){
+ this.engHandler = NullHandler.HANDLER;
+ }else{
+ this.engHandler = handler;
+ }
return;
}
throws IOException, MmdFormatException{
this.hasEnglishInfo = parseBoolean();
- if(this.engHandler != null){
- this.engHandler.pmdEngEnabled(this.hasEnglishInfo);
- }
+ this.engHandler.pmdEngEnabled(this.hasEnglishInfo);
if( ! this.hasEnglishInfo ) return;
String modelName =
parsePmdText(PmdLimits.MAXBYTES_MODELDESC);
description = description.replace(CRLF, LF);
- if(this.engHandler != null){
- this.engHandler.pmdEngModelInfo(modelName, description);
- }
+ this.engHandler.pmdEngModelInfo(modelName, description);
return;
}
throws IOException, MmdFormatException{
int boneNum = getBoneCount();
- if(this.engHandler == null){
- skip(PmdLimits.MAXBYTES_BONENAME * boneNum);
- return;
- }
-
this.engHandler.loopStart(PmdEngHandler.ENGBONE_LIST, boneNum);
for(int ct = 0; ct < boneNum; ct++){
throws IOException, MmdFormatException{
int morphNum = getMorphCount() - 1; // base は英名なし
- if(this.engHandler == null){
- skip(PmdLimits.MAXBYTES_MORPHNAME * morphNum);
- return;
- }
-
this.engHandler.loopStart(PmdEngHandler.ENGMORPH_LIST, morphNum);
for(int ct = 0; ct < morphNum; ct++){
throws IOException, MmdFormatException{
int groupNum = getBoneGroupCount();
- if(this.engHandler == null){
- skip(PmdLimits.MAXBYTES_BONEGROUPNAME * groupNum);
- return;
- }
-
this.engHandler.loopStart(PmdEngHandler.ENGBONEGROUP_LIST, groupNum);
for(int ct = 0; ct < groupNum; ct++){