public static interface ERXProperties.Operator
er.extensions.akey.@someOperatorKey.aparameter=somevalue
Which will be processed by the someOperatorKey operator. Because
properties get handled very early in the startup process, you should
register operators somewhere like a static block in your Application
class. For instance, if you wanted to register the forInstance operator,
you might put the following your Application class:
static {
ERXProperties.setOperatorForKey(new ERXProperties.InRangeOperator(100), ERXProperties.InRangeOperator.ForInstanceKey);
}
It's important to note that property operators evaluate at load time, not
access time, so the compute function should not depend on any runtime
state to execute. Additionally, access to other properties inside the
compute method should be very carefully considered because it's possible
that the operators are evaluated before all of the properties in the
system are loaded.
er.extensions.akey.@someOperatorKey.aparameter=somevalue
someOperatorKey オペレータより処理されます。アプリケーション起動時に、
プロパティーが早い段階で処理されるので、オペレータをアプリケーションクラスのスタティックで宣言するといいのです。
static {
ERXProperties.setOperatorForKey(new ERXProperties.InRangeOperator(100), ERXProperties.InRangeOperator.ForInstanceKey);
}
大変重要はプロパティー・オペレータがロード時で処理されるので、アクセス時ではありません。
計算されている関数ステータスがランタイム状況に左右されないようにする必要がある。
追伸:計算オペレータ・メソッド内で他のプロパティーをアクセスする時にも注意が必要です。
なぜなら、計算時にまだシステムにロードされていない可能性があるからです。
Modifier and Type | Method and Description |
---|---|
NSDictionary<String,String> |
compute(String key,
String value,
String parameters)
Performs some computation on the key, value, and parameters and
returns a dictionary of new properties.
|
NSDictionary<String,String> compute(String key, String value, String parameters)
key
- value
- parameters
- Copyright © 2002 – 2020 Project Wonder.