概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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` -

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright © 2004 asyrinx organization. All Rights Reserved.