org.asyrinx.brownie.core.collection
クラス MapTree

java.lang.Object
  拡張org.asyrinx.brownie.core.collection.MapTree

public class MapTree
extends java.lang.Object

連鎖したマップをツリー構造として扱うためのクラスです。
Propertiesクラスへのシリアライズ、デシリアライズが可能です。
例えば、以下のような要素を持っているPropertiesオブジェクトがあるとします。

 
  
   
    aaa.aaa = 000
    aaa.bbb.ccc = 111
    aaa.bbb.ddd = 222
    aaa.bbb.eee.fff = 333
    
   
  
 
このPropertiesオブジェクトをloadFromするとMapTreeオブジェクトは、 内部的に以下のようなMapのツリーを作成します。
 
  
   
    (root:Map)根
      - aaa = Map 枝
        - aaa = 000 葉
        - bbb = Map 枝
          - ccc = 111 葉
          - ddd = 222 葉
          - eee = Map 枝
            - fff = 333 葉
    
   
  
 
rootとなるMapはgetRootメソッドで取得が可能です。
またaaaやcccなどの要素もgetMapメソッドによって取得が可能です。

作成者:
akima

フィールドの概要
protected  java.lang.String keyDelimiter
           
protected  java.util.Map root
           
 
コンストラクタの概要
MapTree()
           
MapTree(java.util.Map root)
           
MapTree(MapTree mapTree)
           
 
メソッドの概要
protected  java.util.Map createMap()
           
 java.lang.Object get(java.lang.Object key)
          キーによって指定された枝あるいは葉を返します。
 java.lang.Object get(java.lang.Object[] keys)
          キーによって指定された枝あるいは葉を返します。
 java.lang.String getKeyDelimiter()
          文字列でキーを指定した場合に各枝の名称として分割するための文字列です。
 java.util.Map getMap(java.lang.Object key)
          キーによって指定された枝のMapオブジェクトを返します。
protected  java.util.Map getMap(java.lang.Object[] keys)
          キーによって指定された枝のMapオブジェクトを返します。
 java.util.Map getRoot()
          MapTreeオブジェクトが保持する根のMapオブジェクトを返します。
 void loadFrom(java.util.Properties properties)
          Propertiesオブジェクトからデータをデシリアライズします。
protected  java.util.Map needMap(java.lang.Object[] keys)
           
 void put(java.lang.Object[] key, java.lang.Object value)
           
 void put(java.lang.Object key, java.lang.Object value)
          MapTreeに要素を追加します。
 void saveTo(java.util.Properties properties)
          保持するデータをPropertiesオブジェクトにシリアライズします。
 void setKeyDelimiter(java.lang.String string)
          文字列でキーを指定した場合に各枝の名称として分割するための文字列です。
protected  java.lang.Object[] toKeys(java.lang.Object key)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

root

protected final java.util.Map root

keyDelimiter

protected java.lang.String keyDelimiter
コンストラクタの詳細

MapTree

public MapTree()

MapTree

public MapTree(java.util.Map root)

MapTree

public MapTree(MapTree mapTree)
メソッドの詳細

toKeys

protected java.lang.Object[] toKeys(java.lang.Object key)

put

public void put(java.lang.Object key,
                java.lang.Object value)
MapTreeに要素を追加します。

パラメータ:
key - Objectの配列あるいは文字列として扱われます。 keyにオブジェクトの配列を指定した場合、その配列の各要素がツリーの枝となります。 文字列の場合、keyDelimiterプロパティで指定した文字列によって分解され、 分解された各要素がツリーの枝となります。 もし、キーによって指定されたが存在しない場合には自動的に作成されます。
value - 追加される要素です。

get

public java.lang.Object get(java.lang.Object key)
キーによって指定された枝あるいは葉を返します。

パラメータ:
key - Objectの配列あるいは文字列として扱われます。 keyにオブジェクトの配列を指定した場合、その配列の各要素がツリーの枝となります。 文字列の場合、keyDelimiterプロパティで指定した文字列によって分解され、 分解された各要素がツリーの枝となります。
戻り値:
キーによって指定されたが存在しない場合にはnullが返されます。

put

public void put(java.lang.Object[] key,
                java.lang.Object value)
パラメータ:
key - その配列の各要素がツリーの枝となります。 もし、キーによって指定されたが存在しない場合には自動的に作成されます。
value - 追加される要素です。

get

public java.lang.Object get(java.lang.Object[] keys)
キーによって指定された枝あるいは葉を返します。

戻り値:
キーによって指定されたが存在しない場合にはnullが返されます。

getRoot

public java.util.Map getRoot()
MapTreeオブジェクトが保持する根のMapオブジェクトを返します。

戻り値:

getMap

public java.util.Map getMap(java.lang.Object key)
キーによって指定された枝のMapオブジェクトを返します。

パラメータ:
key - Objectの配列あるいは文字列として扱われます。 keyにオブジェクトの配列を指定した場合、その配列の各要素がツリーの枝となります。 文字列の場合、keyDelimiterプロパティで指定した文字列によって分解され、 分解された各要素がツリーの枝となります。
戻り値:

getMap

protected java.util.Map getMap(java.lang.Object[] keys)
キーによって指定された枝のMapオブジェクトを返します。

戻り値:

needMap

protected java.util.Map needMap(java.lang.Object[] keys)

createMap

protected java.util.Map createMap()

getKeyDelimiter

public java.lang.String getKeyDelimiter()
文字列でキーを指定した場合に各枝の名称として分割するための文字列です。

戻り値:

setKeyDelimiter

public void setKeyDelimiter(java.lang.String string)
文字列でキーを指定した場合に各枝の名称として分割するための文字列です。

パラメータ:
string -

saveTo

public void saveTo(java.util.Properties properties)
保持するデータをPropertiesオブジェクトにシリアライズします。

パラメータ:
properties -

loadFrom

public void loadFrom(java.util.Properties properties)
Propertiesオブジェクトからデータをデシリアライズします。

パラメータ:
properties -


Copyright © 2004 asyrinx organization. All Rights Reserved.