package bluej.testmgr.record;
import bluej.pkgmgr.PkgMgrFrame;
| An invoker record for "get" operations on array elements.
|*
* @author Davin McCall
*/
public class ArrayElementGetRecord extends InvokerRecord{
/** The invoker record for the inspector where the Get button was pressed, that resulted in the creation of this GetInvokerRecord.
private InvokerRecord parentIr;
| Index of the element to get
|
private int elementIndex;
| Type of the element
|
private String elementType;
| Name of the object as it appears on the object bench
|
private String objName;
| Type of the object (on the bench)
|
private String objType;
public ArrayElementGetRecord(String elementType, int elementIndex, InvokerRecord parentIr)
{
this.parentIr = parentIr;
this.elementType = elementType;
this.elementIndex = elementIndex;
parentIr.incUsageCount();
}
@Override
public boolean hasVoidResult()
{
return false;
}
| Give this method invoker record a name on the object bench.
|
| @param name Name of the object a it appears on the object bench.
| @param type The type that the object is on the actual bench.
|
@Override
public void setBenchName(String name, String type)
{
objName = name;
objType = type;
}
| Construct a declaration for any objects constructed
| by this invoker record.
|
| @return a String representing the object declaration
| src or null if there is none.
|
@Override
public String toFixtureDeclaration(String firstIndent)
{
return firstIndent + fieldDeclarationStart + objType + " " + objName + statementEnd;
}
| Construct a portion of an initialisation method for
| this invoker record.
|
| @return a String representing the object initialisation
| src or null if there is none.
|
@Override
public String toFixtureSetup(String secondIndent)
{
return secondIndent + objName + " = " + toExpression() + statementEnd;
}
| Construct a portion of a test method for this
| invoker record.
|
| @return a String representing the test method src
|
@Override
public String toTestMethod(PkgMgrFrame pmf, String secondIndent)
{
return secondIndent + objType + " " + objName + " = " + toExpression() + statementEnd;
}
@Override
public String toExpression()
{
if (! objType.equals(elementType)) {
return "((" + objType + ") " + parentIr.toExpression() + "[" + elementIndex + "])";
}
else {
return parentIr.toExpression() + "[" + elementIndex + "]";
}
}
}
. ArrayElementGetRecord
. hasVoidResult
. setBenchName
. toFixtureDeclaration
. toFixtureSetup
. toTestMethod
. toExpression
106 neLoCode
+ 19 LoComm