// ======================================================== // getRightExpression // 右辺式取得メソッド // // @return // 右辺式 : MathExpression* // // ======================================================== public MathExpression getRightExpression() { /* ルート演算子がない場合は取得不能 */ if (m_pRootFactor == null || !m_pRootFactor.matches(eMathMLClassification.MML_OPERATOR)) { return null; } /* 右辺式ルート要素取得 */ MathFactor pRightRootFactor = ((MathOperator) m_pRootFactor).getRightExpression(); /* エラー処理 */ if (pRightRootFactor == null) { return null; } /* 新しい数式インスタンス生成 */ MathExpression pNewExpression = new MathExpression(); /* オペランドの場合 */ if (pRightRootFactor.matches(eMathMLClassification.MML_OPERAND)) { /* 右辺変数をルートに */ pNewExpression.m_pRootFactor = (MathOperand) pRightRootFactor; } /* 演算子の場合 */ else { /* 右辺式をルートに */ pNewExpression.m_pRootFactor = (MathOperator) pRightRootFactor; } return pNewExpression; }
// ======================================================== // getLeftExpression // 左辺式取得メソッド // // @return // 左辺式 : MathExpression* // // ======================================================== public MathExpression getLeftExpression() { /* ルート演算子がない場合は取得不能 */ if (m_pRootFactor == null || !m_pRootFactor.matches(eMathMLClassification.MML_OPERATOR)) { return null; } /* 左辺式ルート要素取得 */ MathFactor pLeftRootFactor = ((MathOperator) m_pRootFactor).getLeftExpression(); /* エラー処理 */ if (pLeftRootFactor == null) { return null; } /* 新しい数式インスタンス生成 */ MathExpression pNewExpression = new MathExpression(); /* ルート要素の設定 */ pNewExpression.m_pRootFactor = pLeftRootFactor; return pNewExpression; }