public class CoolProperties extends java.util.Properties implements java.lang.Iterable<KeyValuePackage>
プロパティファイル内での定義済みプロパティ値の参照
プロパティファイル内で
#VariableReference=enable
と指定すると、その行以降で、定義済みプロパティ値を以下の形式で参照することができる。
{$keyname}
例:
hoge=poipoi
hogege=----{$hoge}----
この場合、hogegeの値は"----poipoi----"となる。
また、同様にシステムプロパティ"CoolProperties.VariableReference"をenableにセットすることで、
常に参照を有効にすることも可能。
Referencing defined property value in properties file
The line :
#VariableReference=enable
enables referencing defined property values after this line in a format
{$keyname}.
e.g.,:
hoge=poipoi
hogege=----{$hoge}----
In this case、hogege will have the value "----poipoi----".
Also the system property "CoolProperties.VariableReference" with the value "enable" will
ever enable variable reference.
定義済みプロパティグループのコピー
#groupcopy to_group=from_group
と指定することで、キーがfrom_groupで始まる定義済みのプロパティの定義がto_groupの定義としてコピー定義される。
Copying a defined grouped properties
The line:
#groupcopy to_group=from_group
copies defined properties with the name which start with from_group to the definitions which start with to_group.
定義済みプロパティのキャンセル
#undefine keyname
と指定することで、定義済みのプロパティkeynameの定義をキャンセルする。remove("keyname")相当。
Canceling a defined property
The line:
#undefine keyname
undefine the defined property keyname. It is the same function as remove("keyname").
システムプロパティによるプリセット値の指定
システムプロパティCoolProperties.define.nameによりvm内共通のプリセット値を定義可能。
Defining the preset values with system properties
You can define the common preset property value in the vm with the system properties CoolProperties.define.name.
システムプロパティのプリセット値としてのロード
システムプロパティCoolProperties.LoadSystemPropertiesをtrueにセットすることで、システムプロパティを
プリセット値としてロードする。
loading system properties as preset values
When you set the system property CoolProperties.LoadSystemProperties to true, the system properties
will be loaded as preset values.
プロパティ定義のチェック
#Use keyname
と指定することで、そのプロパティが定義済みかどうかのチェックを行う。システムプロパティ
CoolProperties.UseCheckLevelの値に応じて、以下のアクションをとる。
value | action |
"none" | チェックしない |
"do" | チェックし、未定義の場合に警告を標準出力に表示する |
"severe" | "do"に加えて、例外CommonRuntimeException をスローする。 |
checking the property definition
The line:
#Use keyname
directs the loader to check whether the key is defined or not. The system property
CoolProperties.UseCheckLevel will define its check level:
value | action |
"none" | no check |
"do" | if the key is not defined the loader will display the warning to stdout |
"severe" | in addition to "do", the loader will throw the exception CommonRuntimeException |
定義済みプロパティによる条件付定義
#ifdef:keyname=value
definitions
....
#endif
のように#ifdef/#endifで囲まれたブロックは手前でkeynameがvalueと定義されている
場合のみ有効となる。
#ifdef:の後ろに記述する式はkeyname=value、またはそれらを&&や||で組み合わせたもの。() で囲むことで()内が優先的に評価される。 && は || よりも優先的に評価される。
conditional property definitions with the other defined property value
The definitions in the #ifdef / #endif block will become effective only when the keyname
has a value value:
#ifdef:keyname=value
definitions
....
#endif
デフォルト定義
#default:keyname=value
と記述すると、それまでにkeynameの値が定義されていない場合にのみ、当該行の定義が適用される。
default value
When the value of keyname is not defined before this line, the value will be degined at this line.
#default:keyname=value
読み込みの終了指定
#eof
と記述すると、その場所でそのファイルが終了したものとみなされ、そのファイル内のその行以降の設定は無視される。
marking "end of the file"
the line
#eof
tells the CoolProperties' loader that here is the end of the file. The lines after this mark will be ignored.
null値の受入指定
システムプロパティCoolProperties.AcceptNullAsEmptyStringをtrueに指定すると、nullの値を空文字列としてみなして受け入れる。
accepting null value
When you set the system property CoolProperties.AcceptNullAsEmptyString to true, the null value will be accepted as an empty string.
空文字列値のnullとしての出力指定
システムプロパティCoolProperties.EmitNullAsEmptyStringをtrueに指定すると、空文字列値をnullとして出力する。
emitting empty String value
When you set the system property CoolProperties.EmitNullAsEmptyString to true, the empty String value will be emitted as null.
デバッグモードの指定
システムプロパティCoolProperties.DEBUGをtrueにすることで、読み込んだ各行を標準出力に表示する。
setting the debug mode
When you set the system property CoolProperties.DEBUG true, CoolProperties will print the loaded lines
to the standard out one by one.
サーチパスの指定
システムプロパティCoolProperties.SEARCH_PATHにパスのリストが指定されている場合、相対パス指定のプロパティファイルをパスリストから検索する。
パスリストのいずれのパスにもファイルが見つからない場合にはカレントディレクトリを基準パスとして適用する。
setting the search path
When you set the path list to the system property CoolProperties.SEARCH_PATH, the properties file with a relative path will be
searched in the path list. If it doesn't found in any path in the list, it will be assumed it is relative path to the current directory.
その他のシステムプロパティ other system properties
name | default | description |
CoolProperties.BeSilent | false | trueの場合、ファイル読込み時のファイル構成情報を標準出力に出力しない。When this is true, the file tree will not be displayed. |
CoolProperties.CRLFMARK | NA | ファイルから読み込む際、値の中の"<CRLFMARK>"を"\r\n"に置換する。 "<CRLFMARK>" in the value will be replaced to "\r\n" on loading from properties file. |
CoolProperties.GP_DEFAULT_CACHE_SIZE | 0 | getGroupedProperties結果のデフォルトキャッシュサイズ。 |
CoolProperties.DUMP_FILETREE | true | trueの場合読み込み時にプロパティファイルツリー情報をコンソールに出力する。 |
CoolProperties.DEFAULT_MULTI_VALUE_DELIMITER | "," | デフォルトのマルチバリュー区切り文字。 |
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
ENCODING_TYPE_KEY |
static java.lang.String |
GP_CACHE_SIZE_KEY |
static java.lang.String |
SYSTEM_DEBUG
"CoolProperties.DEBUG"
|
static java.lang.String |
SYSTEM_ENCODING_TYPE
"CoolProperties.EncodingType"
|
static java.lang.String |
SYSTEM_IGNORE_INCLUDE_FILE_NOT_FOUND
"CoolProperties.IgnoreIncludeFileNotFound"
|
static java.lang.String |
SYSTEM_LOAD_SYSTEMPROPERTIES
"CoolProperties.LoadSystemProperties"
|
static java.lang.String |
SYSTEM_PRESET_PROPERTY_NAME
"CoolProperties.define."
|
static java.lang.String |
SYSTEM_VARREF
"CoolProperties.VariableReference"
|
static java.lang.String |
VAR_REF_ENABLER_KEY |
boolean |
variable_reference_enabled |
修飾子 | コンストラクタと説明 |
---|---|
|
CoolProperties()
default constructor
|
|
CoolProperties(CoolProperties src)
srcの要素のコピーを要素とする。
|
protected |
CoolProperties(int dummy)
Dummy constructor to omit loading preset properties by system properties.
|
|
CoolProperties(KeyValuePackage[] src)
srcの要素のコピーを要素とする。
|
|
CoolProperties(java.util.Properties src)
srcの要素のコピーを要素とする。
|
|
CoolProperties(java.lang.String filename)
指定されたファイルからプロパティをロードするコンストラクタ。
|
|
CoolProperties(java.lang.String filename,
CoolProperties init_value)
init_vlaueで指定された値を初期値として指定されたファイルからプロパティをロードするコンストラクタ。
|
|
CoolProperties(java.lang.String filename,
KeyValuePackage[] init_value)
init_vlaueで指定された値を初期値として指定されたファイルからプロパティをロードするコンストラクタ。
|
|
CoolProperties(java.lang.String filename,
java.util.Properties init_value)
init_vlaueで指定された値を初期値として指定されたファイルからプロパティをロードするコンストラクタ。
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
_put(java.lang.String key,
java.lang.String value) |
void |
clear()
clear all elements.
|
void |
copyFrom(KeyValuePackage[] src) |
void |
copyFrom(java.util.Properties src) |
void |
copyFrom(java.util.Vector<KeyValuePackage> src)
copies
KeyValuePackage elements from src. |
void |
copyInvertedFrom(CoolProperties src)
keyとvalueを入れ替えてコピーする。
|
java.math.BigDecimal |
getBigDecimalProperty(java.lang.String name)
Service method to get BigDecimal value of property.
|
java.math.BigDecimal |
getBigDecimalProperty(java.lang.String name,
java.math.BigDecimal default_value)
Service method to get BigDecimal value of property.
|
boolean |
getBooleanProperty(java.lang.String name)
Service method to get boolean value of property.
|
boolean |
getBooleanProperty(java.lang.String name,
boolean default_value)
Service method to get boolean value of property.
|
byte |
getByteProperty(java.lang.String name) |
byte |
getByteProperty(java.lang.String name,
byte default_value) |
char |
getCharProperty(java.lang.String name) |
char |
getCharProperty(java.lang.String name,
char default_value) |
double |
getDoubleProperty(java.lang.String name)
Service method to get double value of property.
|
double |
getDoubleProperty(java.lang.String name,
double default_value)
Service method to get double value of property.
|
DSV |
getDSVProperty(java.lang.String name)
マルチバリューデリミタでパースしたDSVインスタンスとして値を取得する。
|
boolean |
getEmitNullAsEmptyString() |
static CoolProperties |
getEmptyInstance() |
java.lang.String |
getEncodingType() |
java.util.Enumeration<java.lang.String> |
getFilenameList() |
java.util.Iterator<java.lang.String> |
getFilenameListIterator() |
float |
getFloatProperty(java.lang.String name)
Service method to get float value of property.
|
float |
getFloatProperty(java.lang.String name,
float default_value)
Service method to get float value of property.
|
CoolProperties |
getGroupedProperties(java.lang.String group_name)
returns new CoolProperties instance with properties whose name starts with group_name.
|
int |
getIntProperty(java.lang.String name)
Service method to get int value of property.
|
int |
getIntProperty(java.lang.String name,
int default_value)
Service method to get int value of property.
|
boolean[] |
getListedBooleanProperty(java.lang.String name)
マルチバリューデリミタでパースして、各要素をboolean[]として取得する。
|
boolean[] |
getListedBooleanProperty(java.lang.String name,
boolean default_value)
Service method to get csv listed boolean values of property.
|
int[] |
getListedIntProperty(java.lang.String name)
マルチバリューデリミタでパースして、各要素をint[]として取得する。
|
int[] |
getListedIntProperty(java.lang.String name,
int default_value)
Service method to get csv listed int values of property.
|
long[] |
getListedLongProperty(java.lang.String name)
マルチバリューデリミタでパースして、各要素をlong[]として取得する。
|
long[] |
getListedLongProperty(java.lang.String name,
long default_value)
Service method to get csv listed long values of property.
|
short[] |
getListedShortProperty(java.lang.String name)
マルチバリューデリミタでパースして、各要素をshort[]として取得する。
|
short[] |
getListedShortProperty(java.lang.String name,
short default_value)
Service method to get csv listed short values of property.
|
java.lang.String[] |
getListedStringProperty(java.lang.String name)
マルチバリューデリミタでパースして、各要素をString[]として取得する。
|
long |
getLongProperty(java.lang.String name)
Service method to get long value of property.
|
long |
getLongProperty(java.lang.String name,
long default_value)
Service method to get long value of property.
|
CoolProperties |
getPropertiesForMe(java.lang.Object me)
指定されたインスタンスのクラス名(getSimpleName())+"."
|
java.lang.String |
getProperty(int key) |
java.lang.String |
getProperty(long key) |
java.lang.String |
getProperty(short key) |
java.lang.String |
getProperty(java.lang.String key) |
java.lang.String |
getProperty(java.lang.String name,
java.lang.String default_value)
Service method.
|
java.lang.String |
getRootFileName() |
short |
getShortProperty(java.lang.String name)
Service method to get short value of property.
|
short |
getShortProperty(java.lang.String name,
short default_value)
Service method to get short value of property.
|
java.util.Vector<KeyValuePackage> |
getVectorImage()
KeyValuePackageのインスタンスを要素とするVectorを返す。
|
java.lang.String |
handleVariableReference(java.lang.String value) |
boolean |
hasValue(java.lang.String key) |
void |
invert()
キーと値を入れ換えたセットに再構成する。
|
boolean |
isEmpty(java.lang.String key) |
java.util.Iterator<KeyValuePackage> |
iterator()
インタフェースIterableのための実装。
|
java.util.Enumeration<java.lang.String> |
keysInOrder()
読み込み順にキーを返すEnumerationを返す。
|
void |
load(java.io.InputStream is)
loads properties elements from specified InputStream with default encoding.
|
void |
load(java.io.Reader r)
loads properties elements from specified Reader.
|
void |
loadFromCSVString(java.lang.String src)
1行あたり2項目の","区切り文字列データの1項目目をキー2項目目を値として読み込む。
|
void |
loadFromString(java.lang.String src)
key1=value1\r\nkey2=value2\r\n...形式の文字列から値を読み込む
|
static void |
main(java.lang.String[] args)
java com.ngMAT.CoolProperties filename
|
void |
parse(java.lang.String s)
load properties from the specified string.
|
void |
put(KeyValuePackage kv) |
void |
put(java.lang.String key,
java.lang.String value) |
void |
put(java.lang.String key,
java.lang.String value,
java.lang.String nvl) |
void |
remove(java.lang.String key)
remove a value from the list.
|
void |
removeProperty(java.lang.String key)
remove a value from the list.
|
void |
save()
saves contents of this insntance to the standard output.
|
void |
save(java.io.PrintWriter pw)
saves contents of this insntance.
|
void |
save(java.lang.String filename)
saves contents of this insntance.
|
java.lang.String |
saveToString()
1つのStringとして出力。
|
void |
setEmitNullAsEmptyString(boolean emit_null_as_empty_string) |
void |
setMultiValueDelimiter(java.lang.String delim)
マルチバリューのデリミタをセットする。
|
java.lang.Object |
setProperty(java.lang.String key,
java.math.BigDecimal value) |
java.lang.Object |
setProperty(java.lang.String key,
boolean value) |
java.lang.Object |
setProperty(java.lang.String key,
char value) |
java.lang.Object |
setProperty(java.lang.String key,
double value) |
java.lang.Object |
setProperty(java.lang.String key,
long value) |
java.lang.Object |
setProperty(java.lang.String key,
java.lang.String value) |
java.lang.Object |
setProperty(java.lang.String key,
java.lang.String value,
java.lang.String nvl) |
java.util.HashMap<java.lang.String,java.lang.String> |
toHashMap()
同じ内容を保持するHashMapインスタンスを生成する。
|
CoolProperties |
toLowerCase()
キーを小文字化したインスタンスを生成する。
|
list, list, loadFromXML, propertyNames, save, store, store, storeToXML, storeToXML, stringPropertyNames
clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, size, toString, values
public static final java.lang.String SYSTEM_PRESET_PROPERTY_NAME
public static final java.lang.String SYSTEM_LOAD_SYSTEMPROPERTIES
public static final java.lang.String SYSTEM_VARREF
public static final java.lang.String SYSTEM_DEBUG
public static final java.lang.String SYSTEM_ENCODING_TYPE
public static final java.lang.String SYSTEM_IGNORE_INCLUDE_FILE_NOT_FOUND
public static final java.lang.String ENCODING_TYPE_KEY
public static final java.lang.String VAR_REF_ENABLER_KEY
public static final java.lang.String GP_CACHE_SIZE_KEY
public boolean variable_reference_enabled
public CoolProperties()
public CoolProperties(java.lang.String filename) throws java.io.IOException
java.io.IOException
- when reading failurepublic CoolProperties(java.lang.String filename, java.util.Properties init_value) throws java.io.IOException
java.io.IOException
- when reading failureCoolProperties(String filename)
public CoolProperties(java.util.Properties src)
public CoolProperties(java.lang.String filename, KeyValuePackage[] init_value) throws java.io.IOException
java.io.IOException
CoolProperties(String filename)
public CoolProperties(KeyValuePackage[] src)
public CoolProperties(java.lang.String filename, CoolProperties init_value) throws java.io.IOException
java.io.IOException
- when reading failureCoolProperties(String filename)
public CoolProperties(CoolProperties src)
src
- コピー元インスタンスprotected CoolProperties(int dummy)
dummy
- any integer. this value will be ignored.public boolean getEmitNullAsEmptyString()
public void setEmitNullAsEmptyString(boolean emit_null_as_empty_string)
public void setMultiValueDelimiter(java.lang.String delim)
public java.lang.String getEncodingType()
public java.util.Vector<KeyValuePackage> getVectorImage()
public CoolProperties toLowerCase()
public java.util.Iterator<KeyValuePackage> iterator()
getVectorImage()
.iterator()と同等。iterator
インタフェース内 java.lang.Iterable<KeyValuePackage>
public java.lang.String getProperty(java.lang.String key)
getProperty
クラス内 java.util.Properties
protected void _put(java.lang.String key, java.lang.String value)
public void put(java.lang.String key, java.lang.String value, java.lang.String nvl)
public void put(java.lang.String key, java.lang.String value)
public java.lang.Object setProperty(java.lang.String key, java.lang.String value, java.lang.String nvl)
public java.lang.Object setProperty(java.lang.String key, java.lang.String value)
setProperty
クラス内 java.util.Properties
public java.lang.Object setProperty(java.lang.String key, char value)
public java.lang.Object setProperty(java.lang.String key, long value)
public java.lang.Object setProperty(java.lang.String key, double value)
public java.lang.Object setProperty(java.lang.String key, java.math.BigDecimal value)
public java.lang.Object setProperty(java.lang.String key, boolean value)
public void put(KeyValuePackage kv)
public void copyFrom(java.util.Properties src)
public void copyInvertedFrom(CoolProperties src)
src
- コピー元インスタンスpublic void copyFrom(KeyValuePackage[] src)
public void copyFrom(java.util.Vector<KeyValuePackage> src)
KeyValuePackage
elements from src.src
- list to copy frompublic java.lang.String getRootFileName()
public java.util.Iterator<java.lang.String> getFilenameListIterator()
public java.util.Enumeration<java.lang.String> getFilenameList()
public void load(java.io.InputStream is) throws java.io.IOException
load
クラス内 java.util.Properties
is
- InputStream to load elements fromjava.io.IOException
- when reading failurepublic void load(java.io.Reader r) throws java.io.IOException
load
クラス内 java.util.Properties
r
- Reader to load elements fromjava.io.IOException
- when reading failurepublic void parse(java.lang.String s) throws java.io.IOException
s
- String to read elements from. this String should include more than
0 property definition lines separated by line separator.java.io.IOException
- when reading failurepublic java.lang.String handleVariableReference(java.lang.String value)
public void loadFromString(java.lang.String src) throws java.io.IOException
src
- java.io.IOException
public void loadFromCSVString(java.lang.String src)
src
- 読み込み対象csv文字列。各行2項目、1つめがキー、2つめが値、である行を0以上保持する文字列。public java.lang.String getProperty(long key)
public java.lang.String getProperty(int key)
public java.lang.String getProperty(short key)
public boolean hasValue(java.lang.String key)
public boolean isEmpty(java.lang.String key)
public static CoolProperties getEmptyInstance()
public CoolProperties getGroupedProperties(java.lang.String group_name)
group_name
- property group name to be extracted.CoolProperties
instance which has extracted elements.public CoolProperties getPropertiesForMe(java.lang.Object me)
getGroupedProperties
した値。me
- public void save() throws java.io.IOException
java.io.IOException
- when reading failurepublic void save(java.lang.String filename) throws java.io.IOException
filename
- filename to saved with.java.io.IOException
- when reading failurepublic void save(java.io.PrintWriter pw)
pw
- PrintWriter to print topublic java.lang.String saveToString()
public DSV getDSVProperty(java.lang.String name)
name
- public java.lang.String[] getListedStringProperty(java.lang.String name)
property
- namename
- public char getCharProperty(java.lang.String name)
public char getCharProperty(java.lang.String name, char default_value)
public byte getByteProperty(java.lang.String name)
public byte getByteProperty(java.lang.String name, byte default_value)
public short getShortProperty(java.lang.String name)
name
- name of propertypublic short getShortProperty(java.lang.String name, short default_value)
name
- name of propertydefault_value
- default valuepublic short[] getListedShortProperty(java.lang.String name, short default_value)
name
- csv listed names of propertydefault_value
- default valuepublic short[] getListedShortProperty(java.lang.String name)
property
- namepublic int getIntProperty(java.lang.String name)
name
- name of propertypublic int getIntProperty(java.lang.String name, int default_value)
name
- name of propertydefault_value
- default valuepublic int[] getListedIntProperty(java.lang.String name, int default_value)
name
- csv listed names of propertydefault_value
- default valuepublic int[] getListedIntProperty(java.lang.String name)
property
- namepublic long getLongProperty(java.lang.String name)
name
- name of propertypublic long getLongProperty(java.lang.String name, long default_value)
name
- name of propertydefault_value
- default valuepublic long[] getListedLongProperty(java.lang.String name, long default_value)
name
- csv listed names of propertydefault_value
- default valuepublic long[] getListedLongProperty(java.lang.String name)
property
- namepublic boolean getBooleanProperty(java.lang.String name)
name
- name of propertypublic boolean getBooleanProperty(java.lang.String name, boolean default_value)
name
- name of propertydefault_value
- default valuepublic boolean[] getListedBooleanProperty(java.lang.String name, boolean default_value)
name
- csv lisgted names of propertydefault_value
- default valuepublic boolean[] getListedBooleanProperty(java.lang.String name)
property
- namepublic float getFloatProperty(java.lang.String name)
name
- name of propertypublic float getFloatProperty(java.lang.String name, float default_value)
name
- name of propertydefault_value
- default valuepublic double getDoubleProperty(java.lang.String name)
name
- name of propertypublic java.math.BigDecimal getBigDecimalProperty(java.lang.String name)
name
- name of propertypublic double getDoubleProperty(java.lang.String name, double default_value)
name
- name of propertydefault_value
- default valuepublic java.math.BigDecimal getBigDecimalProperty(java.lang.String name, java.math.BigDecimal default_value)
name
- name of propertydefault_value
- default valuepublic java.lang.String getProperty(java.lang.String name, java.lang.String default_value)
getProperty
クラス内 java.util.Properties
name
- name of propertydefault_value
- default valuepublic void remove(java.lang.String key)
key
- name of property to be removedpublic void removeProperty(java.lang.String key)
key
- name of property to be removedpublic void clear()
clear
インタフェース内 java.util.Map<java.lang.Object,java.lang.Object>
clear
クラス内 java.util.Hashtable<java.lang.Object,java.lang.Object>
public void invert()
public java.util.Enumeration<java.lang.String> keysInOrder()
public java.util.HashMap<java.lang.String,java.lang.String> toHashMap()
public static void main(java.lang.String[] args)
args
- command line arguments