public static class ERXProperties.InRangeOperator extends Object implements ERXProperties.Operator
An example of this is instance-number-based properties, where you want to only set a specific value if the instance number of the application falls within a certain value. In this example, because instance number is something that is associated with a request rather than the application itself, it is up to the class registering this operator to specify which instance number this application is (via, for instance, a custom system property).
InRangeOperator supports specifying keys like:
er.extensions.akey.@forInstance.50=avalue
which would set the value of "er.extensions.akey" to "avalue" if this
instance is 50.
er.extensions.akey.@forInstance.60,70=avalue
which would set the value of "er.extensions.akey" to "avalue" if this
instance is 60 or 70.
er.extensions.akey.@forInstance.100-300=avalue
which would set the value of "er.extensions.akey" to "avalue" if this
instance is between 100 and 300 (inclusive).
er.extensions.akey.@forInstance.20-30,500=avalue
which would set the value of "er.extensions.akey" to "avalue" if this
instance is between 20 and 30 (inclusive), or if the instance is 50.
If there are multiple inRange operators that match for the same key, the last property (when sorted alphabetically by key name) will win. As a result, it's important to not define overlapping ranges, or you may get unexpected results.
このメソッドのサンプルとして、インスタンス番号ベース・プロパティーです。 指定値をプロパティーとしてセットするのはインスタンス番号がある値の間にある時だけ。 例えば、 インスタンス番号はアプリケーションよりも、リクエストと関連されています。 クラス登録によって、このオペレータがインスタンス番号がわかるのです。
InRangeOperator は次のようなキーをサポートしています:
er.extensions.akey.@forInstance.50=avalue
インスタンスが50になると "er.extensions.akey" の値を "avalue" にセットします。
er.extensions.akey.@forInstance.60,70=avalue
インスタンスが60又は70の場合 "er.extensions.akey" の値を "avalue" にセットします。
er.extensions.akey.@forInstance.100-300=avalue
インスタンスが100から300の間にある場合 "er.extensions.akey" の値を "avalue" にセットします。
er.extensions.akey.@forInstance.20-30,50=avalue
インスタンスが20から30の間、又は50の場合 "er.extensions.akey" の値を "avalue" にセットします。
複数の処理が同じキーでヒットすると、最後のプロパティー(キー名でソートされて)が採用されます。 結果として、オーバラップされる値をセットしないように、そうしないと思わない結果が得られます。
Modifier and Type | Field and Description |
---|---|
static String |
ForInstanceKey
The default key name of the ForInstance variant of the InRange operator.
InRangeオペレータのインスタンス・デフォルト・キー名
|
Constructor and Description |
---|
InRangeOperator(int value)
Constructs a new InRangeOperator.
|
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.
|
public static final String ForInstanceKey
public InRangeOperator(int value)
value
- public NSDictionary<String,String> compute(String key, String value, String parameters)
ERXProperties.Operator
compute
in interface ERXProperties.Operator
key
- value
- parameters
- Copyright © 2002 – 2020 Project Wonder.