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

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.PFArithmeticOperator
すべての実装されたインタフェース:
java.io.Serializable, PFComponent, PFNumberResultOperation, PFEventSource, PFProcessTerminateEventSource
直系の既知のサブクラス:
PFArithmeticADDOperator, PFArithmeticDIVOperator, PFArithmeticMODOperator, PFArithmeticMULOperator, PFArithmeticSUBOperator

public abstract class PFArithmeticOperator
extends PFBinaryOperator
implements PFNumberResultOperation

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

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

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

演算結果は、(左オペランド)(演算子)(右オペランド) の値となる。
ただし、以下の場合は演算不可能とし、演算結果はnullとなる。

演算結果の型は以下のとおり。複数にあてはまる場合は、優先順位の高いものが適用される。

  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

演算結果の小数点以下桁数を指定することができる。
ただし、演算結果の型がBigDecimal, Double, Floatの場合のみ有効とする。

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

コンストラクタの概要
PFArithmeticOperator()
          算術演算コンポーネントを生成する。
 
メソッドの概要
 void evaluate()
          演算を行なう。
 void evaluateNumber(java.lang.String string1, java.lang.String string2)
          指定された文字列を数値(BigDecimal)に変換して、演算を行なう。
protected  java.lang.Object[] getConvertedOperand()
          型変換後の左オペランドと右オペランドを格納した配列を返す。
 int getDecimalPlace()
          演算結果の小数点以下桁数を返す。
protected  java.lang.Number getRoundedOffNumber(java.lang.Number number)
          小数点以下桁数を考慮した値を返す。
 void setDecimalPlace(int decimalPlace)
          演算結果の小数点以下桁数を設定する。
 void setLeftNumberOperand(java.lang.String string)
          指定された文字列を数値(BigDecimal)に変換して、左オペランドに設定する。
 void setNumberOperand(java.lang.String string1, java.lang.String string2)
          指定された文字列を数値(BigDecimal)に変換して、両オペランドに設定する。
 void setRightNumberOperand(java.lang.String string)
          指定された文字列を数値(BigDecimal)に変換して、右オペランドに設定する。
 
クラス 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.PFNumberResultOperation から継承されたメソッド
getNumberResult
 
インタフェース jp.go.aist.dmrc.platform.base.PFComponent から継承されたメソッド
getComponentName
 

コンストラクタの詳細

PFArithmeticOperator

public PFArithmeticOperator()
算術演算コンポーネントを生成する。

メソッドの詳細

getDecimalPlace

public int getDecimalPlace()
演算結果の小数点以下桁数を返す。

戻り値:
小数点以下桁数
関連項目:
setDecimalPlace(int)

setDecimalPlace

public void setDecimalPlace(int decimalPlace)
演算結果の小数点以下桁数を設定する。

パラメータ:
decimalPlace - 小数点以下桁数
関連項目:
getDecimalPlace()

setLeftNumberOperand

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

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

setRightNumberOperand

public void setRightNumberOperand(java.lang.String string)
指定された文字列を数値(BigDecimal)に変換して、右オペランドに設定する。
指定された文字列がnullまたは非数値の場合、nullが設定される。

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

setNumberOperand

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

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

evaluate

public void evaluate()
              throws PFMethodException,
                     PFRuntimeException
演算を行なう。
処理完了イベントが発生する。

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

evaluateNumber

public void evaluateNumber(java.lang.String string1,
                           java.lang.String string2)
                    throws PFMethodException,
                           PFRuntimeException
指定された文字列を数値(BigDecimal)に変換して、演算を行なう。
指定された文字列がnullまたは非数値の場合は、演算不可能となる。
処理完了イベントが発生する。

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

getRoundedOffNumber

protected final java.lang.Number getRoundedOffNumber(java.lang.Number number)
小数点以下桁数を考慮した値を返す。

パラメータ:
number - 値
戻り値:
小数点以下桁数を考慮した値

getConvertedOperand

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

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