shohaku.core.util
クラス AbstractXProperties

java.lang.Object
  拡張shohaku.core.util.AbstractXProperties
直系の既知のサブクラス:
CELProperties

public abstract class AbstractXProperties
extends java.lang.Object

拡張プロパティリストの抽象実装を提供します。
多様な実装が想定されるため、この抽象実装ではシリアライズ機能を定義しません。


フィールドの概要
protected static java.lang.String commentChars
          コメント文を示す文字。
protected static java.nio.charset.Charset DEFAULT_CHARSET
          デフォルトで使用する文字セット(ISO 8859-1).
protected static java.lang.String keyValueSeparators
          キーと値の以外の文字。
protected  java.util.Map lookup
          プロパティを同期Mapで保管します。
protected static java.lang.String strictKeyValueSeparators
          キーと値の区切り文字。
protected  java.util.Set unmodifiableKeys
          プロパティキーを普遍Setで保管します。
protected static java.lang.String whiteSpaceChars
          スペースとして扱う文字。
 
コンストラクタの概要
AbstractXProperties()
           
 
メソッドの概要
 boolean containsKey(java.lang.Object key)
          指定されたキーがプロパティに含まれている場合にtrueを返却します。
protected  boolean continueLine(java.lang.String line)
          次行を現在の行の継続として扱う場合はtrueを返却します。
protected  java.util.Map createLookupMap()
          プロパティリストを格納するマップを返却します。
 java.lang.Object getProperty(java.lang.Object key)
          指定されたキーを持つプロパティを、プロパティから探します。
 java.lang.Object getProperty(java.lang.Object key, java.lang.Object defaultValue)
          指定されたキーを持つプロパティを、プロパティから探します。
protected  boolean isKeyValueSeparators(char c)
          キーと値の区切り文字の場合trueを返却します。
protected  boolean isNotCommentChars(char c)
          コメント列を示す文字の以外の場合はtrueを返却します。
protected  boolean isWhiteSpaceChars(char c)
          スペース文字の場合trueを返却します。
 java.util.Iterator keyIterator()
          このプロパティにあるすべてのキーの反復子を返却します。
abstract  void load(java.io.InputStream inStream)
          入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
abstract  void load(java.io.InputStream inStream, java.nio.charset.Charset charset)
          入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
abstract  void load(java.io.InputStream inStream, java.lang.String charsetName)
          入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
protected  void loadImpl(java.io.InputStream inStream, java.nio.charset.Charset charset, boolean isUnicodeEscapes)
          入力ストリームからキーと要素が対になったプロパティを読み込みます。
protected abstract  void putProperty(java.lang.String key, java.lang.String value)
          プロパティを登録します。
 java.util.Map toMap()
          プロパティリストをマップにコピーして返却します。
 java.lang.String toString()
          プロパティの文字列表現を返却します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

DEFAULT_CHARSET

protected static final java.nio.charset.Charset DEFAULT_CHARSET
デフォルトで使用する文字セット(ISO 8859-1).


keyValueSeparators

protected static final java.lang.String keyValueSeparators
キーと値の以外の文字。

関連項目:
定数フィールド値

strictKeyValueSeparators

protected static final java.lang.String strictKeyValueSeparators
キーと値の区切り文字。

関連項目:
定数フィールド値

commentChars

protected static final java.lang.String commentChars
コメント文を示す文字。

関連項目:
定数フィールド値

whiteSpaceChars

protected static final java.lang.String whiteSpaceChars
スペースとして扱う文字。

関連項目:
定数フィールド値

lookup

protected final java.util.Map lookup
プロパティを同期Mapで保管します。


unmodifiableKeys

protected final java.util.Set unmodifiableKeys
プロパティキーを普遍Setで保管します。

コンストラクタの詳細

AbstractXProperties

public AbstractXProperties()
メソッドの詳細

loadImpl

protected void loadImpl(java.io.InputStream inStream,
                        java.nio.charset.Charset charset,
                        boolean isUnicodeEscapes)
                 throws java.io.IOException
入力ストリームからキーと要素が対になったプロパティを読み込みます。
ストリームは、引数charsetで指定された文字エンコーディングを使用しているとみなされます。

パラメータ:
inStream - 入力ストリーム
charset - 文字エンコーディング
isUnicodeEscapes - Unicode escapes フラグ
例外:
java.io.IOException - 入力ストリームからの読み込み中にエラーが発生した場合

continueLine

protected boolean continueLine(java.lang.String line)
次行を現在の行の継続として扱う場合はtrueを返却します。
(行末が '\' である場合は次行を現在の行の継続として扱う)

パラメータ:
line - 検証する行文字列
戻り値:
継続として扱う場合true

isNotCommentChars

protected boolean isNotCommentChars(char c)
コメント列を示す文字の以外の場合はtrueを返却します。

パラメータ:
c - 検証する文字
戻り値:
コメント列を示す文字の以外の場合true

isKeyValueSeparators

protected boolean isKeyValueSeparators(char c)
キーと値の区切り文字の場合trueを返却します。

パラメータ:
c - 検証すう文字
戻り値:
キーと値の区切り文字の場合true
関連項目:
isKeyValueSeparators(char)

isWhiteSpaceChars

protected boolean isWhiteSpaceChars(char c)
スペース文字の場合trueを返却します。

パラメータ:
c - 検証すう文字
戻り値:
スペース文字の場合true
関連項目:
isWhiteSpaceChars(char)

createLookupMap

protected java.util.Map createLookupMap()
プロパティリストを格納するマップを返却します。

戻り値:
プロパティリストを格納するマップ

keyIterator

public java.util.Iterator keyIterator()
このプロパティにあるすべてのキーの反復子を返却します。

戻り値:
プロパティにあるすべてのキーの反復子

toMap

public java.util.Map toMap()
プロパティリストをマップにコピーして返却します。

戻り値:
プロパティリストをコピーしたマップ

getProperty

public java.lang.Object getProperty(java.lang.Object key)
指定されたキーを持つプロパティを、プロパティから探します。
プロパティキーがない場合はnullが返されます。

パラメータ:
key - プロパティキー
戻り値:
プロパティキーが示す値

getProperty

public java.lang.Object getProperty(java.lang.Object key,
                                    java.lang.Object defaultValue)
指定されたキーを持つプロパティを、プロパティから探します。
プロパティキーがない場合は、デフォルト値の引数が返されます。

パラメータ:
key - プロパティキー
defaultValue - デフォルト値
戻り値:
プロパティキーが示す値又はdefaultValue

containsKey

public boolean containsKey(java.lang.Object key)
指定されたキーがプロパティに含まれている場合にtrueを返却します。

パラメータ:
key - プロパティキー
戻り値:
指定されたキーが含まれている場合true

toString

public java.lang.String toString()
プロパティの文字列表現を返却します。

戻り値:
プロパティの文字列表現
関連項目:
Object.toString()

putProperty

protected abstract void putProperty(java.lang.String key,
                                    java.lang.String value)
                             throws java.io.IOException
プロパティを登録します。

パラメータ:
key - プロパティキー
value - プロパティ値
例外:
java.io.IOException - プロパティの登録中にエラーが発生した場合

load

public abstract void load(java.io.InputStream inStream)
                   throws java.io.IOException
入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
ストリームはデフォルトのISO 8859-1文字エンコーディングを使用しているとみなされます。
このエンコーディングに直接表示できない文字にはUnicode escapesが使用されます。
ただし、エスケープシーケンスでは 1 文字の「u」だけが使用可能です。
他の文字エンコーディングとプロパティファイルを変換する場合native2asciiツールを使用できます。

パラメータ:
inStream - 入力ストリーム
例外:
java.io.IOException - 入力ストリームからの読み込み中にエラーが発生した場合

load

public abstract void load(java.io.InputStream inStream,
                          java.lang.String charsetName)
                   throws java.io.IOException
入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
ストリームは、引数 charsetName で指定された文字エンコーディングを使用しているとみなされます。
このメソッドは以下と等価です。
load(in, Charset.forName(charsetName));

パラメータ:
inStream - 入力ストリーム
charsetName - 文字エンコーディング
例外:
java.io.IOException - 入力ストリームからの読み込み中にエラーが発生した場合

load

public abstract void load(java.io.InputStream inStream,
                          java.nio.charset.Charset charset)
                   throws java.io.IOException
入力ストリームからキーと要素が対になったプロパティリストを読み込みます。
ストリームは、引数 charset で指定された文字エンコーディングを使用しているとみなされます。

パラメータ:
inStream - 入力ストリーム
charset - 文字エンコーディング
例外:
java.io.IOException - 入力ストリームからの読み込み中にエラーが発生した場合