From: Olyutorskii Date: Sun, 3 Jul 2011 14:01:23 +0000 (+0900) Subject: ループ識別情報の簡素化 X-Git-Tag: fromMercurial~63 X-Git-Url: http://git.osdn.net/view?p=mikutoga%2FTogaGem.git;a=commitdiff_plain;h=2d4313caaff686b660ec413b8f669478599f1d40;ds=sidebyside ループ識別情報の簡素化 --- diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/ParseStage.java b/src/main/java/jp/sourceforge/mikutoga/parser/ParseStage.java index 3814cba..ba433f7 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/ParseStage.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/ParseStage.java @@ -11,53 +11,14 @@ package jp.sourceforge.mikutoga.parser; * パース処理の進行ステージ種別を表す。 * ループ構造の識別に用いられる。 */ -public abstract class ParseStage { - - private final String name; - - /** - * コンストラクタ。 - * 進行ステージ名は実行時クラス名(パッケージ名抜き)が指定される。 - */ - protected ParseStage(){ - super(); - - Class klass = getClass(); - String fullName = klass.getName(); - int idx = fullName.lastIndexOf('.'); - - String stripName; - if(idx >= 0){ - stripName = fullName.substring(idx + 1); - }else{ - stripName = fullName; - } - - this.name = stripName; - - return; - } +public class ParseStage { /** * コンストラクタ。 - * @param name 進行ステージ名 - * @throws NullPointerException 引数がnull */ - protected ParseStage(String name) throws NullPointerException{ + public ParseStage(){ super(); - if(name == null) throw new NullPointerException(); - this.name = name; return; } - /** - * {@inheritDoc} - * 進行ステージ名を返す。 - * @return {@inheritDoc} 進行ステージ名 - */ - @Override - public String toString(){ - return this.name; - } - } diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdBoneHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdBoneHandler.java index c4954f4..45c7d71 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdBoneHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdBoneHandler.java @@ -17,28 +17,20 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdBoneHandler extends LoopHandler { - /** - * ボーン情報パースステージ。 - */ - class PmdBoneStage extends ParseStage{ - /** コンストラクタ。 */ - PmdBoneStage(){ super(); return; } - } - /** ボーン定義抽出ループ。 */ - PmdBoneStage BONE_LIST = new PmdBoneStage(); + ParseStage BONE_LIST = new ParseStage(); /** IKリスト抽出ループ。 */ - PmdBoneStage IK_LIST = new PmdBoneStage(); + ParseStage IK_LIST = new ParseStage(); /** IKチェーンリスト抽出ループ。 */ - PmdBoneStage IKCHAIN_LIST = new PmdBoneStage(); + ParseStage IKCHAIN_LIST = new ParseStage(); /** ボーングループ名抽出ループ。 */ - PmdBoneStage BONEGROUP_LIST = new PmdBoneStage(); + ParseStage BONEGROUP_LIST = new ParseStage(); /** ボーングループ内訳抽出ループ。 */ - PmdBoneStage GROUPEDBONE_LIST = new PmdBoneStage(); + ParseStage GROUPEDBONE_LIST = new ParseStage(); /** * ボーン定義情報の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdEngHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdEngHandler.java index 017d47d..2a14f4b 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdEngHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdEngHandler.java @@ -16,22 +16,14 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdEngHandler extends LoopHandler { - /** - * 英語情報パースステージ。 - */ - class PmdEngStage extends ParseStage{ - /** コンストラクタ。 */ - PmdEngStage(){ super(); return; } - } - /** ボーン英語名抽出ループ。 */ - ParseStage ENGBONE_LIST = new PmdEngStage(); + ParseStage ENGBONE_LIST = new ParseStage(); /** モーフ英語名抽出ループ。 */ - ParseStage ENGMORPH_LIST = new PmdEngStage(); + ParseStage ENGMORPH_LIST = new ParseStage(); /** ボーングループ英語名抽出グループ。 */ - ParseStage ENGBONEGROUP_LIST = new PmdEngStage(); + ParseStage ENGBONEGROUP_LIST = new ParseStage(); /** * PMD英語情報の有無の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdJointHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdJointHandler.java index be000c5..74d5216 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdJointHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdJointHandler.java @@ -16,16 +16,8 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdJointHandler extends LoopHandler { - /** - * ジョイント情報パースステージ。 - */ - class PmdJointStage extends ParseStage{ - /** コンストラクタ。 */ - PmdJointStage(){ super(); return; } - } - /** ジョイント情報抽出ループ。 */ - PmdJointStage JOINT_LIST = new PmdJointStage(); + ParseStage JOINT_LIST = new ParseStage(); /** * ジョイント名の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMaterialHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMaterialHandler.java index 4944546..19ed5de 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMaterialHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMaterialHandler.java @@ -17,16 +17,8 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdMaterialHandler extends LoopHandler { - /** - * モデル材質パースステージ。 - */ - class PmdMaterialStage extends ParseStage{ - /** コンストラクタ。 */ - PmdMaterialStage(){ super(); return; } - } - /** 材質抽出ループ。 */ - PmdMaterialStage MATERIAL_LIST = new PmdMaterialStage(); + ParseStage MATERIAL_LIST = new ParseStage(); /** * 材質の拡散光成分の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMorphHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMorphHandler.java index c3efed6..df12b87 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMorphHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdMorphHandler.java @@ -16,22 +16,14 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdMorphHandler extends LoopHandler { - /** - * モーフ情報パースステージ。 - */ - class PmdMorphStage extends ParseStage{ - /** コンストラクタ。 */ - PmdMorphStage(){ super(); return; } - } - /** モーフ抽出ループ。 */ - PmdMorphStage MORPH_LIST = new PmdMorphStage(); + ParseStage MORPH_LIST = new ParseStage(); /** モーフ頂点抽出ループ。 */ - PmdMorphStage MORPHVERTEX_LIST = new PmdMorphStage(); + ParseStage MORPHVERTEX_LIST = new ParseStage(); /** モーフ出現順抽出ループ。 */ - PmdMorphStage MORPHORDER_LIST = new PmdMorphStage(); + ParseStage MORPHORDER_LIST = new ParseStage(); /** * モーフ情報の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdRigidHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdRigidHandler.java index 8cb641f..c3ca64e 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdRigidHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdRigidHandler.java @@ -16,16 +16,8 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdRigidHandler extends LoopHandler { - /** - * 剛体情報パースステージ。 - */ - class PmdRigidStage extends ParseStage{ - /** コンストラクタ。 */ - PmdRigidStage(){ super(); return; } - } - /** 剛体情報抽出ループ。 */ - PmdRigidStage RIGID_LIST = new PmdRigidStage(); + ParseStage RIGID_LIST = new ParseStage(); /** * 剛体名の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdShapeHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdShapeHandler.java index 16f80f9..0963ef5 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdShapeHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdShapeHandler.java @@ -18,18 +18,10 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdShapeHandler extends LoopHandler { - /** - * モデル形状パースステージ。 - */ - class PmdShapeStage extends ParseStage{ - /** コンストラクタ。 */ - PmdShapeStage(){ super(); return; } - } - /** 頂点抽出ループ。 */ - PmdShapeStage VERTEX_LIST = new PmdShapeStage(); + ParseStage VERTEX_LIST = new ParseStage(); /** 面抽出ループ。 */ - PmdShapeStage SURFACE_LIST = new PmdShapeStage(); + ParseStage SURFACE_LIST = new ParseStage(); /** * 頂点の座標の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdToonHandler.java b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdToonHandler.java index ded567a..2bebba3 100644 --- a/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdToonHandler.java +++ b/src/main/java/jp/sourceforge/mikutoga/parser/pmd/PmdToonHandler.java @@ -16,16 +16,8 @@ import jp.sourceforge.mikutoga.parser.ParseStage; */ public interface PmdToonHandler extends LoopHandler { - /** - * 独自トゥーンテクスチャファイル名パースステージ。 - */ - class PmdToonStage extends ParseStage{ - /** コンストラクタ。 */ - PmdToonStage(){ super(); return; } - } - /** トゥーンテクスチャファイル名抽出ループ。 */ - PmdToonStage TOON_LIST = new PmdToonStage(); + ParseStage TOON_LIST = new ParseStage(); /** * 独自トゥーンテクスチャファイル名の通知を受け取る。 diff --git a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/BoneBuilder.java b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/BoneBuilder.java index 28a00ea..a074e0f 100644 --- a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/BoneBuilder.java +++ b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/BoneBuilder.java @@ -59,8 +59,6 @@ class BoneBuilder implements PmdBoneHandler { */ @Override public void loopStart(ParseStage stage, int loops){ - assert stage instanceof PmdBoneStage; - if(stage == PmdBoneHandler.BONE_LIST){ ListUtil.prepareDefConsList(this.boneList, BoneInfo.class, loops); ListUtil.assignIndexedSerial(this.boneList); @@ -110,8 +108,6 @@ class BoneBuilder implements PmdBoneHandler { */ @Override public void loopNext(ParseStage stage){ - assert stage instanceof PmdBoneStage; - if(stage == PmdBoneHandler.BONE_LIST){ if(this.boneIt.hasNext()){ this.currentBone = this.boneIt.next(); @@ -141,8 +137,6 @@ class BoneBuilder implements PmdBoneHandler { */ @Override public void loopEnd(ParseStage stage){ - assert stage instanceof PmdBoneStage; - if(stage == PmdBoneHandler.BONE_LIST){ //NOTHING }else if(stage == PmdBoneHandler.IK_LIST){ diff --git a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/MorphBuilder.java b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/MorphBuilder.java index 40b0789..7c8666c 100644 --- a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/MorphBuilder.java +++ b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/MorphBuilder.java @@ -64,8 +64,6 @@ class MorphBuilder implements PmdMorphHandler { */ @Override public void loopStart(ParseStage stage, int loops){ - assert stage instanceof PmdMorphStage; - if(stage == PmdMorphHandler.MORPH_LIST){ ListUtil.prepareDefConsList(this.morphPartList, MorphPart.class, @@ -80,6 +78,9 @@ class MorphBuilder implements PmdMorphHandler { // NOTHING }else if(stage == PmdMorphHandler.MORPHORDER_LIST){ // NOTHING + }else{ + assert false; + throw new AssertionError(); } return; @@ -91,8 +92,6 @@ class MorphBuilder implements PmdMorphHandler { */ @Override public void loopNext(ParseStage stage){ - assert stage instanceof PmdMorphStage; - if(stage == PmdMorphHandler.MORPH_LIST){ if(this.morphPartIt.hasNext()){ this.currentMorphPart = this.morphPartIt.next(); @@ -101,6 +100,9 @@ class MorphBuilder implements PmdMorphHandler { // NOTHING }else if(stage == PmdMorphHandler.MORPHORDER_LIST){ // NOTHING + }else{ + assert false; + throw new AssertionError(); } return; @@ -112,13 +114,15 @@ class MorphBuilder implements PmdMorphHandler { */ @Override public void loopEnd(ParseStage stage){ - assert stage instanceof PmdMorphStage; if(stage == PmdMorphHandler.MORPH_LIST){ // NOTHING }else if(stage == PmdMorphHandler.MORPHVERTEX_LIST){ // NOTHING }else if(stage == PmdMorphHandler.MORPHORDER_LIST){ // NOTHING + }else{ + assert false; + throw new AssertionError(); } return; } diff --git a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/TextBuilder.java b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/TextBuilder.java index f81a535..927c30e 100644 --- a/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/TextBuilder.java +++ b/src/main/java/jp/sourceforge/mikutoga/pmd/pmdloader/TextBuilder.java @@ -95,8 +95,6 @@ class TextBuilder implements PmdBasicHandler, PmdEngHandler { */ @Override public void loopStart(ParseStage stage, int loops){ - assert stage instanceof PmdEngStage; - if(stage == PmdEngHandler.ENGBONE_LIST){ this.boneIt = this.boneList.iterator(); if(this.boneIt.hasNext()){ @@ -137,8 +135,6 @@ class TextBuilder implements PmdBasicHandler, PmdEngHandler { */ @Override public void loopNext(ParseStage stage){ - assert stage instanceof PmdEngStage; - if(stage == PmdEngHandler.ENGBONE_LIST){ if(this.boneIt.hasNext()){ this.currentBone = this.boneIt.next(); @@ -164,7 +160,6 @@ class TextBuilder implements PmdBasicHandler, PmdEngHandler { */ @Override public void loopEnd(ParseStage stage){ - assert stage instanceof PmdEngStage; return; } diff --git a/src/test/java/jp/sourceforge/mikutoga/parser/ParseStageTest.java b/src/test/java/jp/sourceforge/mikutoga/parser/ParseStageTest.java deleted file mode 100644 index 611c2c1..0000000 --- a/src/test/java/jp/sourceforge/mikutoga/parser/ParseStageTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - */ - -package jp.sourceforge.mikutoga.parser; - -import junit.framework.TestCase; -import org.junit.Test; - -/** - * - */ -public class ParseStageTest extends TestCase { - - public ParseStageTest(String testName) { - super(testName); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Test of toString method, of class ParseStage. - */ - @Test - public void testToString(){ - System.out.println("toString"); - - ParseStage instance; - - instance = new Test1("A.B.C"); - assertEquals("A.B.C", instance.toString()); - - instance = new Test1(""); - assertEquals("", instance.toString()); - - try{ - instance = new Test1(null); - fail(); - }catch(NullPointerException e){ - // OK - } - - instance = new Test2(); - assertEquals("ParseStageTest$Test2", instance.toString()); - - return; - } - - class Test1 extends ParseStage{ - public Test1(String txt){ - super(txt); - } - } - - class Test2 extends ParseStage{ - public Test2(){ - super(); - } - } - -}