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
すべての実装インタフェース:
PFComponent, PFEventSource, PFNumberResultOperation, PFProcessTerminateEventSource, java.io.Serializable
直系の既知のサブクラス:
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, getComponentString, getPFProcessTerminateListenerList, localeUpdated, removePFProcessTerminateListener, setComponentID, setComponentKey, setComponentKeys
 
クラス 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]