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

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.NamedModelElement
              extended by gov.nasa.arc.brahms.common.data.Concept
                  extended by gov.nasa.arc.brahms.common.data.ActiveConcept
                      extended by gov.nasa.arc.brahms.common.data.ActiveClass
                          extended by gov.nasa.arc.brahms.common.data.ObjectClass
                              extended by gov.nasa.arc.brahms.vm.data.VMObjectClass
All Implemented Interfaces:
IConceptClass, Type, gov.nasa.arc.brahms.common.IConstants, IVMClass, java.io.Serializable

public class VMObjectClass
extends ObjectClass
implements IVMClass

The VMObjectClass is an ObjectClass with extensions for use in the Brahms virtual machine. The concept of a class' in Brahms is similar to the concept of a template or class in object-oriented programming. It defines the activities (workframes), initial-facts and initial-beliefs for instances of that class (i.e. 'objects'). Classes are used to define inanimate artifacts, such as phones, faxes, computer systems, pieces of paper, etc.

Version:
19 April 2002
Author:
Ron van Hoof
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.nasa.arc.brahms.common.data.Concept
ATTRIBUTES_PROPERTY, RELATIONS_PROPERTY
 
Fields inherited from class gov.nasa.arc.brahms.common.data.NamedModelElement
NAME_PROPERTY
 
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
VMObjectClass()
          Constructor, creates a new group for use in the virtual machine.
VMObjectClass(java.lang.String name)
          Constructor, creates a new class with the specified name for use in the virtual machine.
VMObjectClass(java.lang.String file, int line)
          Constructor, creates a new class for use in the virtual machine.
VMObjectClass(java.lang.String name, java.lang.String file, int line)
          Constructor, creates a new class with the specified name for use in the virtual machine.
 
Method Summary
 IVMInstance createInstance(java.lang.String name)
          Creates a new object instance with this object class as its parent.
 boolean equals(java.lang.Object obj)
          Tests whether two VMObjectClasses are equal.
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ObjectClass
addMember, addSubClass, addSuperClass, delete, isResource, isSubClassOf, removeMember, setID, setResource
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ActiveClass
addMember, addSubClass, addSuperClass, getActivitiesRecursive, getActivitiesRecursive, getActivityByDescriptorRecursive, getAttributeRecursive, getAttributesRecursive, getInitialBeliefsRecursive, getInitialFactsRecursive, getMember, getMembers, getMembers, getMembersRecursive, getRelationRecursive, getRelationsRecursive, getSubClass, getSubClasses, getSuperClass, getSuperClasses, getSuperClasses, getThoughtframesRecursive, getWorkframesRecursive, hasMembers, hasSubClasses, hasSuperClasses, isMember, isSubClassOf, removeSubClass, removeSuperClass
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ActiveConcept
addActivity, addInitialBelief, addInitialFact, addThoughtframe, addWorkframe, getActivities, getActivities, getActivities, getActivities, getActivityByDescriptor, getActivityByDescriptor, getAttribute, getAttributes, getCost, getInitialBeliefs, getInitialBeliefs, getInitialFacts, getInitialFacts, getLocalActivityByDescriptor, getRelation, getRelations, getThoughtframe, getThoughtframes, getThoughtframes, getThoughtframes, getTimeUnit, getWorkframe, getWorkframes, getWorkframes, getWorkframes, hasActivities, hasInitialBeliefs, hasInitialFacts, hasThoughtframes, hasWorkframes, removeActivity, removeThoughtframe, removeWorkframe, setCost, setTimeUnit
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Concept
addAttribute, addRelation, compareTypes, createContext, getAttribute, getAttributes, getContext, getFullyQualifiedName, getIcon, getModel, getName, getPackage, getRelation, getRelations, getType, hasAttributes, hasRelations, isLocal, isSerializable, removeAttribute, removeRelation, setContext, setIcon, setLocal, setModel, setPackage, setSerializable, toString
 
Methods inherited from class gov.nasa.arc.brahms.common.data.NamedModelElement
getDisplayText, getOwner, setDisplayText, setFullyQualifiedName, setName, setOwner
 
Methods inherited from class gov.nasa.arc.brahms.common.data.BrahmsObject
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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gov.nasa.arc.brahms.vm.data.IVMClass
isSerializable
 
Methods inherited from interface gov.nasa.arc.brahms.common.data.Type
getSerialNumber
 

Constructor Detail

VMObjectClass

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


VMObjectClass

public VMObjectClass(java.lang.String name)
Constructor, creates a new class with the specified name for use in the virtual machine.

Parameters:
name - the unique name of the class

VMObjectClass

public VMObjectClass(java.lang.String file,
                     int line)
Constructor, creates a new class for use in the virtual machine.

Parameters:
file - the name of the file in which the class is specified
line - the line number at which the definition of the class starts

VMObjectClass

public VMObjectClass(java.lang.String name,
                     java.lang.String file,
                     int line)
Constructor, creates a new class with the specified name for use in the virtual machine.

Parameters:
name - the unique name of the class
file - the name of the file in which the class is specified
line - the line number at which the definition of the class starts
Method Detail

createInstance

public IVMInstance createInstance(java.lang.String name)
Creates a new object instance with this object class as its parent.

Specified by:
createInstance in interface IVMClass
Parameters:
name - the unique name in the runtime model for the instance.
Returns:
IVMInstance a new ObjectInstance

equals

public boolean equals(java.lang.Object obj)
Tests whether two VMObjectClasses are equal. The VM maintains a single instance of any VMObjectClass with a given FQN in its static model, so the equality check can be reduced to an identity check

Overrides:
equals in class Concept
Parameters:
obj - the Object to be compared for equality
Returns:
true if the two VMObjectClasses are equal, false otherwise


Copyright © 1997-2012 All Rights Reserved.