jp.go.aist.dmrc.platform.beans.util.operator
クラス PFComparisonOperator

java.lang.Object
  上位を拡張 jp.go.aist.dmrc.platform.beans.util.operator.PFOperator
      上位を拡張 jp.go.aist.dmrc.platform.beans.util.operator.PFBinaryOperator
          上位を拡張 jp.go.aist.dmrc.platform.beans.util.operator.PFComparisonOperator
すべての実装されたインタフェース:
java.io.Serializable, PFComponent, PFBooleanResultOperation, PFEventSource, PFProcessTerminateEventSource
直系の既知のサブクラス:
PFComparisonGEOperator, PFComparisonGTOperator, PFComparisonLEOperator, PFComparisonLTOperator

public abstract class PFComparisonOperator
extends PFBinaryOperator
implements PFBooleanResultOperation

比較演算コンポーネントのスーパークラス。

演算処理手順は以下のとおり。

  1. オペランドがPFNumberResultOperation, PFStringResultOperationの オブジェクトの場合、その演算結果をオペランドとする。
  2. 比較演算を行なう。
  3. 演算結果を返す、または処理完了イベントを発生させる。

演算結果は論理値(true, false)である。
ただし、以下のいずれかの場合は演算不可能とし、演算結果をnullとする。

比較規則は以下のとおり。複数にあてはまる場合は、優先順位の高いものが適用される。

  1. 左右オペランドのいずれかがStringの場合、Stringで比較する。
  2. 左右オペランドがともに数値型の場合
    1. 左右オペランドが同じ型でBigDecimal/BigInteger/Double/Long/Floatの場合、その型で比較する。
    2. 左右オペランドのいずれかがDoubleの場合、Doubleで比較する。
    3. 左右オペランドのいずれかがFloatの場合、Floatで比較する。
    4. 左右オペランドのいずれかがBigDecimalの場合、BigDecimalで比較する。
    5. 左右オペランドのいずれかがBigIntegerの場合、BigIntegerで比較する。
    6. 左右オペランドのいずれかがLongの場合、Longで比較する。
    7. 左右オペランドがInteger/Short/Byteの場合、Integerで比較する。
  3. 上記のいずれにもあてはまらない場合、左右オペランドの型で比較する。

Double, Float型で比較するとき、常に (-∞) < n (有限値) < (+∞) が成り立つ。

関連項目:
直列化された形式

コンストラクタの概要
PFComparisonOperator()
          コンストラクタ。
 
メソッドの概要
 void evaluate()
          比較を行なう。
 void evaluateNumber(java.lang.String string1, java.lang.String string2)
          数値(BigDecimal)での比較を行なう。
 void evaluateString(java.lang.String string1, java.lang.String string2)
          文字列の比較を行なう。
protected  java.lang.Object[] getConvertedOperand()
          型変換後の左オペランドと右オペランドを格納した配列を返す。
 void setLeftNumberOperand(java.lang.String string)
          指定された文字列を数値(BigDecimal)に変換して、左オペランドに設定する。
 void setLeftStringOperand(java.lang.String string)
          指定された文字列を左オペランドに設定する。
 void setNumberOperand(java.lang.String string1, java.lang.String string2)
          指定された文字列を数値(BigDecimal)に変換して、両オペランドに設定する。
 void setRightNumberOperand(java.lang.String string)
          指定された文字列を数値(BigDecimal)に変換して、左オペランドに設定する。
 void setRightStringOperand(java.lang.String string)
          指定された文字列を右オペランドに設定する。
 void setStringOperand(java.lang.String string1, java.lang.String string2)
          指定された文字列を両オペランドに設定する。
 
クラス jp.go.aist.dmrc.platform.beans.util.operator.PFBinaryOperator から継承されたメソッド
evaluate, getLeftOperand, getOperand, getRightOperand, setLeftOperand, setOperand, setRightOperand
 
クラス jp.go.aist.dmrc.platform.beans.util.operator.PFOperator から継承されたメソッド
addPFProcessTerminateListener, firePFProcessTerminated, getComponentID, getComponentKey, getComponentKeys, getComponentPublicName, getComponentString, getPFProcessTerminateListenerList, isAllowPullTransfer, isAllowPushTransfer, isAllowRemoteInvocation, localeUpdated, removePFProcessTerminateListener, setAllowPullTransfer, setAllowPushTransfer, setAllowRemoteInvocation, setComponentID, setComponentKey, setComponentKeys, setComponentPublicName
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース jp.go.aist.dmrc.platform.beans.util.operator.PFBooleanResultOperation から継承されたメソッド
getBooleanResult
 
インタフェース jp.go.aist.dmrc.platform.base.PFComponent から継承されたメソッド
getComponentName
 

コンストラクタの詳細

PFComparisonOperator

public PFComparisonOperator()
コンストラクタ。

メソッドの詳細

setLeftStringOperand

public void setLeftStringOperand(java.lang.String string)
指定された文字列を左オペランドに設定する。

パラメータ:
string - 文字列
関連項目:
PFBinaryOperator.setLeftOperand(Object)

setRightStringOperand

public void setRightStringOperand(java.lang.String string)
指定された文字列を右オペランドに設定する。

パラメータ:
string - 文字列
関連項目:
PFBinaryOperator.setRightOperand(Object)

setStringOperand

public void setStringOperand(java.lang.String string1,
                             java.lang.String string2)
指定された文字列を両オペランドに設定する。

パラメータ:
string1 - 文字列(左オペランド)
string2 - 文字列(右オペランド)
関連項目:
setLeftStringOperand(String), setRightStringOperand(String)

setLeftNumberOperand

public void setLeftNumberOperand(java.lang.String string)
指定された文字列を数値(BigDecimal)に変換して、左オペランドに設定する。

パラメータ:
string - 数値
関連項目:
PFBinaryOperator.setLeftOperand(Object)

setRightNumberOperand

public void setRightNumberOperand(java.lang.String string)
指定された文字列を数値(BigDecimal)に変換して、左オペランドに設定する。

パラメータ:
string - 数値
関連項目:
PFBinaryOperator.setRightOperand(Object)

setNumberOperand

public void setNumberOperand(java.lang.String string1,
                             java.lang.String string2)
指定された文字列を数値(BigDecimal)に変換して、両オペランドに設定する。

パラメータ:
string1 - 数値(左オペランド)
string2 - 数値(右オペランド)
関連項目:
setLeftNumberOperand(String), setRightNumberOperand(String)

evaluate

public void evaluate()
              throws PFMethodException,
                     PFRuntimeException
比較を行なう。
処理完了イベントが発生します。

定義:
クラス PFOperator 内の evaluate
例外:
PFMethodException - イベント伝播先のメソッド起動時のエラー
PFRuntimeException - 予期しない実行時エラー

evaluateString

public void evaluateString(java.lang.String string1,
                           java.lang.String string2)
                    throws PFMethodException,
                           PFRuntimeException
文字列の比較を行なう。

パラメータ:
string1 - 文字列(左オペランド)
string2 - 文字列(右オペランド)
例外:
PFMethodException - イベント伝播先のメソッド起動時のエラー
PFRuntimeException - 予期しない実行時エラー
関連項目:
setStringOperand(String, String), evaluate()

evaluateNumber

public void evaluateNumber(java.lang.String string1,
                           java.lang.String string2)
                    throws PFMethodException,
                           PFRuntimeException
数値(BigDecimal)での比較を行なう。
文字列から数値に変換できない場合は、比較不可能となる。

パラメータ:
string1 - 数値(左オペランド)
string2 - 数値(右オペランド)
例外:
PFMethodException - イベント伝播先のメソッド起動時のエラー
PFRuntimeException - 予期しない実行時エラー
関連項目:
setNumberOperand(String, String), evaluate()

getConvertedOperand

protected java.lang.Object[] getConvertedOperand()
型変換後の左オペランドと右オペランドを格納した配列を返す。
演算実行時に呼び出される。

戻り値:
左オペランド[0]と右オペランド[1]