EDU.ksu.cis.calculator.javamodel
Class Power

java.lang.Object
  |
  +--EDU.ksu.cis.calculator.javamodel.Power
All Implemented Interfaces:
EncodedOperation, Operation

public class Power
extends Object
implements EncodedOperation

The general exponentiation operation.

Author:
Rod Howell (howell@cis.ksu.edu)

Constructor Summary
Power()
           
 
Method Summary
 Object doOperation(Object[] operands)
          Returns the result of raising operand[0] to the power of operand[1].
 int numOperands()
          Returns 2.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Power

public Power()
Method Detail

numOperands

public int numOperands()
Returns 2.

Specified by:
numOperands in interface Operation

doOperation

public Object doOperation(Object[] operands)
                   throws ArrayIndexOutOfBoundsException,
                          ClassCastException,
                          ArithmeticException
Returns the result of raising operand[0] to the power of operand[1].

Specified by:
doOperation in interface EncodedOperation
Parameters:
operands - The operands for the operation. The length of this array should match the value returned by Operation.numOperands().
Returns:
The result of the operation.
Throws:
ArrayIndexOutOfBoundsException - If operands is not of length at least 2.
ClassCastException - If the elements of operands are not both BigIntegers.
ArithmeticException - If operand[1] is negative.