gov.nasa.arc.brahms.vm.data
Class VMConstructorInvocation

java.lang.Object
  extended by gov.nasa.arc.brahms.common.data.BrahmsObject
      extended by gov.nasa.arc.brahms.common.data.ModelElement
          extended by gov.nasa.arc.brahms.common.data.Invocation
              extended by gov.nasa.arc.brahms.common.data.ConstructorInvocation
                  extended by gov.nasa.arc.brahms.vm.data.VMConstructorInvocation
All Implemented Interfaces:
IExpression, gov.nasa.arc.brahms.common.IConstants, IVMExpression, java.io.Serializable

public class VMConstructorInvocation
extends ConstructorInvocation
implements IVMExpression

The VMConstructorInvocation is a ConstructorInvocation with extensions for use in the virtual machine.

Version:
$Revision: 1.1 $ $Date: 2009/11/23 20:41:40 $ $Author: rnado $
Author:
Bob Nado
See Also:
ConstructorInvocation, Serialized Form

Field Summary
 
Fields inherited from class gov.nasa.arc.brahms.common.data.ConstructorInvocation
LOGGER
 
Fields inherited from interface gov.nasa.arc.brahms.common.IConstants
ABORT, ACTIVECLASS, ACTIVECONCEPT, ACTIVEINSTANCE, AGENT, ANONYMOUS, ANYAGENT, AREA, AREADEF, ASSIGNED, ATTRIBUTE, BASEAREADEF, BASECLASS, BASECONCEPTUALCLASS, BASEGROUP, BASELIBRARY, BOOLEAN, BROADCAST, BUILDING, BYTE, CCLOCK, CDATE, CHAR, CITY, CLASS, CLOCK, COLLECTALL, COMMUNICATE, COMPLETE, COMPOSITE, COMPUTER, CONCEPT, CONCEPTUALCLASS, CONCEPTUALCONCEPT, CONCEPTUALOBJECT, CONTINUE, COPY, CREATEAGENT, CREATEAREA, CREATEOBJECT, current, CURRENT, DATAFRAME, DATE, DB, DETECTABLE, DIV, DOUBLE, EMAIL, EMPTY_STRING, END, ENDACTIVITY, ENTAGENT, EQ, EXCEPTION, EXPR, FACE2FACE, FACTFRAME, FALSE, FAX, FLOAT, FOREACH, FORONE, G2, GE, GEOGRAPHYCONCEPT, GESTURE, GET, GROUP, GT, IMPASSE, INT, INVALID, JAVA, JAVA_TYPE, KNOWN_MODIFIER, KNOWNVAL_MODIFIER, LE, LOCAL, LONG, LT, MAP, MINUS, MOD, MOVE, MULT, NE, NEW, NONE, NOT_MODIFIER, NOWORK, O, OA, OBJECT, ONTOLOGY, PAGER, PARAMETER, PATH, PHONE, PLUS, PRIMITIVE, PRIVATE, PROAGENT, PROTECTED, PRSAGENT, PUBLIC, PUT, RECEIVE, RELATION, sACTIVECLASS, sACTIVECONCEPT, sACTIVEINSTANCE, sAGENT, sARCHIVE, sAREA, sAREADEF, sBOOLEAN, sBYTE, sBYTECODEEXT, sCHAR, sCLASS, sCOMPUTER, sCONCEPT, sCONCEPTUALCLASS, sCONCEPTUALCONCEPT, sCONCEPTUALOBJECT, sCOPY, sCURRENT, sDETECTABLE, sDOUBLE, sEMAIL, sEND, SEND, sFACE2FACE, sFAX, sFILEEXT, sFLOAT, sGEOGRAPHYCONCEPT, sGROUP, SHORT, SIMAGENT, sINT, sJAVA_TYPE, sLONG, sMAP, sNEW, sNONE, sNOWORK, sOBJECT, SOURCECODE, sPAGER, sPARAMETER, sPATH, sPHONE, sPRIVATE, sPROJECTEXT, sPROTECTED, sPUBLIC, sSHORT, sSTART, sSTRING, sSYMBOL, START, STRING, sUNKNOWN, sVOID, SYMBOL, TRUE, UDT, UML, UNASSIGNED, UNDEFINED, unknown, UNKNOWN, UNKNOWN_MODIFIER, V, VARIABLE, VOID, WHENEVER, WORKFRAME, WORLD, XML
 
Constructor Summary
VMConstructorInvocation()
          Constructor, creates a new VMConstructorInvocation for use in the virtual machine.
VMConstructorInvocation(JavaType type, java.lang.String file, int line)
          Constructor, creates a new VMConstructorInvocation operation which is located as brahms source code in the given file at the given line number.
VMConstructorInvocation(java.lang.String file, int line)
          Constructor, creates a new VMConstructorInvocation instance which is located as Brahms source code in the given file at the given line number.
 
Method Summary
 java.util.List<java.lang.Object> evaluate(VMActiveInstanceCtx agent, VMFrameCtx frame)
          Evaluates the constructor invocation to produce an object instance.
 java.lang.Object invokeConstructor(java.lang.Class<?> targetClass, java.lang.Class<?>[] parameterTypes, java.lang.Object[] argumentTuple)
          Invokes a Java constructor on an array of arguments.
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ConstructorInvocation
getCollectType, getDescriptor, getJavaType, setCollectType, setDescriptor, setID, setJavaType, toString
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Invocation
addArgument, getArgumentNumber, getArguments, getBrahmsParameterTypes, getOwner, getParameterNumber, getParameters, getParameterTypes, getVariables, hasArguments, isVarArgs, parseParameterTypes, setBrahmsParameterTypes, setOwner, setParameterTypes, setVarArgs
 
Methods inherited from class gov.nasa.arc.brahms.common.data.BrahmsObject
delete, export, getFile, getID, getLine, getSerialNumber, isBCC, isDynamic, isLoaded, isResolved, setBCC, setDynamic, setFile, setID, setLine, setLoaded, setResolved, setSerialNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gov.nasa.arc.brahms.common.data.IExpression
export
 

Constructor Detail

VMConstructorInvocation

public VMConstructorInvocation()
Constructor, creates a new VMConstructorInvocation for use in the virtual machine.


VMConstructorInvocation

public VMConstructorInvocation(java.lang.String file,
                               int line)
Constructor, creates a new VMConstructorInvocation instance which is located as Brahms source code in the given file at the given line number.

Parameters:
file - the name of the file
line - the line number in the file

VMConstructorInvocation

public VMConstructorInvocation(JavaType type,
                               java.lang.String file,
                               int line)
Constructor, creates a new VMConstructorInvocation operation which is located as brahms source code in the given file at the given line number.

Parameters:
type - the JavaType representing the Java class that has the constructor
file - the name of the file
line - the line number in the file
Method Detail

evaluate

public java.util.List<java.lang.Object> evaluate(VMActiveInstanceCtx agent,
                                                 VMFrameCtx frame)
                                          throws gov.nasa.arc.brahms.common.exceptions.BrahmsException
Evaluates the constructor invocation to produce an object instance. A singleton list of the new object is returned to conform to the contract for the evaluate method.

Specified by:
evaluate in interface IVMExpression
Parameters:
agent - the VMActiveInstanceCtx for the agent performing the expression evaluation
frame - the VMFrameCtx for the frame that is being executed -- contains variable contexts for variables used in the evaluation
Returns:
List<Object> the list of values resulting from the expression evaluation
Throws:
gov.nasa.arc.brahms.common.exceptions.BrahmsException - if an error occurs during the expression evaluation

invokeConstructor

public java.lang.Object invokeConstructor(java.lang.Class<?> targetClass,
                                          java.lang.Class<?>[] parameterTypes,
                                          java.lang.Object[] argumentTuple)
                                   throws gov.nasa.arc.brahms.common.exceptions.BrahmsException
Invokes a Java constructor on an array of arguments. First tries to lookup a constructor with the given parameter types on the target class.

Parameters:
targetClass - the Class to be instantiated using a constructor
parameterTypes - the parameter type Class array used to lookup the constructor
argumentTuple - the Object array for the arguments to be passed to the constructor
Returns:
Object the resulting instance
Throws:
gov.nasa.arc.brahms.common.exceptions.BrahmsException - if a suitable constructor could not be found or invoking it produced an exception


Copyright © 1997-2012 All Rights Reserved.