kinugasa.field
クラス XMLFieldMapBuilder

java.lang.Object
  上位を拡張 kinugasa.field.XMLFieldMapBuilder
すべての実装されたインタフェース:
Freeable, Nameable, FieldMapBuilder

public final class XMLFieldMapBuilder
extends java.lang.Object
implements FieldMapBuilder

フィールドマップをXMLからロードするためのビルダです.
作成されたFieldMapBuilderは自動的にFieldMapBuildetStorageに追加されます。

バージョン:
1.0.0 - 2013/04/29_15:52:17
作成者:
Dra0211

フィールドの概要
private  int chipHeight
           
private  int chipWidth
           
private  XMLReader dataFileReader
           
private  FieldMap fieldMap
           
private  boolean loaded
           
private  java.lang.String name
           
private  NodeMap nodeMap
           
private  SoundMap soundMap
           
 
コンストラクタの概要
XMLFieldMapBuilder(java.lang.String name, SoundMap soundMap, NodeMap nodeMap, XMLReader dataFileReader)
           
 
メソッドの概要
private  void addThis()
          FieldMapBuidletStorageにthisインスタンスを追加します.
 XMLFieldMapBuilder free()
          コンテンツをメモリから破棄出来るようにします.
 int getChipHeight()
           
 int getChipWidth()
           
 XMLReader getDataFileReader()
           
 FieldMap getFieldMap()
           
 java.lang.String getName()
          このインスタンスの一意的な名前を取得します.
 NodeMap getNodeMap()
           
 SoundMap getSoundMap()
           
 boolean isLoaded()
          このオブジェクトが、すでにロードされているかを検査します.
 XMLFieldMapBuilder load()
          コンテンツをロードして展開します.
private  java.util.List<Sprite> parseAnimationSprite(java.util.List<XMLElement> spriteElement)
           
private  java.util.List<Sprite> parseAnySprite(XMLElement parent)
           
private  BackgroundLayerSprite parseBackground(java.util.List<XMLElement> elements)
          XML要素を解析し、BackgroundLayerを構築します.
private  java.awt.image.BufferedImage[] parseImages(XMLElement parent)
          imageおよびspriteSheetタグを解析し、画像配列を作成します.
private  java.util.List<Sprite> parseImageSprite(java.util.List<XMLElement> spriteElement)
           
private  FieldMap parseLayer(java.util.List<XMLElement> layerElements, java.util.List<XMLElement> backgroundElements)
           
private  MapLayerSprite parseMap(XMLElement parent)
           
private  java.util.List<Sprite> parseSprite(java.util.List<XMLElement> spriteElement)
           
 void setDataFileReader(XMLReader dataFileReader)
           
 void setNodeMap(NodeMap nodeMap)
           
 void setSoundMap(SoundMap soundMap)
           
 java.lang.String toString()
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

name

private java.lang.String name

soundMap

private SoundMap soundMap

nodeMap

private NodeMap nodeMap

dataFileReader

private XMLReader dataFileReader

loaded

private boolean loaded

chipWidth

private int chipWidth

chipHeight

private int chipHeight

fieldMap

private FieldMap fieldMap
コンストラクタの詳細

XMLFieldMapBuilder

public XMLFieldMapBuilder(java.lang.String name,
                          SoundMap soundMap,
                          NodeMap nodeMap,
                          XMLReader dataFileReader)
メソッドの詳細

addThis

private void addThis()
FieldMapBuidletStorageにthisインスタンスを追加します.


getName

public java.lang.String getName()
インタフェース Nameable の記述:
このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。

定義:
インタフェース Nameable 内の getName
定義:
インタフェース FieldMapBuilder 内の getName
戻り値:
このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

getFieldMap

public FieldMap getFieldMap()
                     throws NotYetLoadedException
定義:
インタフェース FieldMapBuilder 内の getFieldMap
例外:
NotYetLoadedException

load

public XMLFieldMapBuilder load()
                        throws IllegalXMLFormatException,
                               java.lang.NumberFormatException,
                               NameNotFoundException,
                               java.awt.image.RasterFormatException,
                               ReflectionClassNotFoundException
インタフェース Freeable の記述:
コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。

定義:
インタフェース Freeable 内の load
定義:
インタフェース FieldMapBuilder 内の load
戻り値:
インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。
例外:
IllegalXMLFormatException
java.lang.NumberFormatException
NameNotFoundException
java.awt.image.RasterFormatException
ReflectionClassNotFoundException

parseLayer

private FieldMap parseLayer(java.util.List<XMLElement> layerElements,
                            java.util.List<XMLElement> backgroundElements)
                     throws IllegalXMLFormatException,
                            NameNotFoundException,
                            ReflectionClassNotFoundException,
                            java.awt.image.RasterFormatException
例外:
IllegalXMLFormatException
NameNotFoundException
ReflectionClassNotFoundException
java.awt.image.RasterFormatException

parseAnySprite

private java.util.List<Sprite> parseAnySprite(XMLElement parent)
                                       throws IllegalXMLFormatException,
                                              java.awt.image.RasterFormatException,
                                              ReflectionClassNotFoundException
例外:
IllegalXMLFormatException
java.awt.image.RasterFormatException
ReflectionClassNotFoundException

parseSprite

private java.util.List<Sprite> parseSprite(java.util.List<XMLElement> spriteElement)
                                    throws java.lang.NumberFormatException,
                                           ReflectionClassNotFoundException
例外:
java.lang.NumberFormatException
ReflectionClassNotFoundException

parseImageSprite

private java.util.List<Sprite> parseImageSprite(java.util.List<XMLElement> spriteElement)
                                         throws java.lang.NumberFormatException,
                                                java.awt.image.RasterFormatException,
                                                NameNotFoundException
例外:
java.lang.NumberFormatException
java.awt.image.RasterFormatException
NameNotFoundException

parseAnimationSprite

private java.util.List<Sprite> parseAnimationSprite(java.util.List<XMLElement> spriteElement)

parseMap

private MapLayerSprite parseMap(XMLElement parent)
                         throws IllegalXMLFormatException,
                                NameNotFoundException,
                                java.awt.image.RasterFormatException
例外:
IllegalXMLFormatException
NameNotFoundException
java.awt.image.RasterFormatException

parseBackground

private BackgroundLayerSprite parseBackground(java.util.List<XMLElement> elements)
                                       throws IllegalXMLFormatException,
                                              NameNotFoundException,
                                              java.awt.image.RasterFormatException
XML要素を解析し、BackgroundLayerを構築します.

パラメータ:
elements - ルートエレメントから取得視したbackground要素を送信します。
戻り値:
構築されたBackgroundLayerを返します。
例外:
IllegalXMLFormatException - background要素が2つ以上ある場合や 要素が不正な場合に投げられます。
NameNotFoundException - 属性の値が整数に変換できない場合に投げられます。
java.awt.image.RasterFormatException - SpriteSheetおよびImageの切り出しにおいて 不正な座標を参照した際に投げられます。

parseImages

private java.awt.image.BufferedImage[] parseImages(XMLElement parent)
                                            throws java.awt.image.RasterFormatException
imageおよびspriteSheetタグを解析し、画像配列を作成します.

パラメータ:
parent - image又はspriteSheetを持つタグを送信します。
戻り値:
送信されたタグに基づいて構築された画像配列を返します。 parentにimageまたはspriteSheet要素が存在しない場合はnullを返します。
例外:
java.awt.image.RasterFormatException - 不正な座標を参照したときに投げられます。

free

public XMLFieldMapBuilder free()
インタフェース Freeable の記述:
コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。

定義:
インタフェース Freeable 内の free
定義:
インタフェース FieldMapBuilder 内の free
戻り値:
デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

isLoaded

public boolean isLoaded()
インタフェース Freeable の記述:
このオブジェクトが、すでにロードされているかを検査します.

定義:
インタフェース Freeable 内の isLoaded
定義:
インタフェース FieldMapBuilder 内の isLoaded
戻り値:
ロード済みである場合はtrueを返します。

getSoundMap

public SoundMap getSoundMap()
定義:
インタフェース FieldMapBuilder 内の getSoundMap

setSoundMap

public void setSoundMap(SoundMap soundMap)

getNodeMap

public NodeMap getNodeMap()
定義:
インタフェース FieldMapBuilder 内の getNodeMap

setNodeMap

public void setNodeMap(NodeMap nodeMap)

getDataFileReader

public XMLReader getDataFileReader()

setDataFileReader

public void setDataFileReader(XMLReader dataFileReader)

getChipWidth

public int getChipWidth()
定義:
インタフェース FieldMapBuilder 内の getChipWidth

getChipHeight

public int getChipHeight()
定義:
インタフェース FieldMapBuilder 内の getChipHeight

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString