A class is a classifier with structural features (i.e. attributes).
Instances of classes are always objects with slots for the attributes
of the class. A class is instantiated using the 'new/0' and 'new/1'
operations (inherited from Classifier). The former takes no initialization
arguments whereas the latter takes a sequence of initialization arguments.
The preferred way of instantiating a class is by applying it as an
operator to the initialization arguments, as in C() or C(1,2,3). This
instantiates the class and calls 'init/1' on the resulting instance.
Typically classes will redefine 'init/1' to initialize new instances
on a class-by-class basis. Typically you will create a class using the
@Class ... en-d notation.
Constructors |
Attributes | ||
attributes | Set(Attribute) | No Documentation Specified |
constructors | Seq(Constructor) | No Documentation Specified |
isAbstract | Boolean | No Documentation Specified |
From Classifier: grammar, parents, operations, constraints, default, isFinal. From NameSpace: bindings, imports. From IndexedContainer: contents. From NamedElement: name. From DocumentedElement: documentation. From Contained: owner. |
Operations | |
VMNew():Element | No Documentation Specified |
add(n:Element):Classifier | Exte-nd the behaviour for 'add' inherited from Classifier by taking attributes and constructors into account. |
addAttribute(a:Attribute):Classifier | Adds an attribute to a class and sets the owner of the attribute to be the class. Use Class::add in preference to this since that will also add the attribute to the contents table of the class. |
addConstructor(c:Constructor):Element | Add a constructor to a class. Use Class::add in preference to this. |
addOperation(o:Element):Classifier | Obsolete. |
allAttributes():Set(Attribute) | Get all the attributes that are defined and inherited by the class. Refer to the 'attributes' attribute of a class to get the locally defined attributes of a class. |
allConstructors():Seq(Constructor) | Calculate a sequence of constructors in most specific to least specific order. |
defaultParents():Set(Classifier) | When a class is created its parents may not be specified as part of the definition. The meta-class that is instantiated can specify the default super-classes of the new class using this operation. It is automatically called when the new class is initialised. It is a useful way of stating that all classes of a given type must inherit from a collection of super-classes. The default is Object. |
deleteRecursive():Element | No Documentation Specified |
dependencies():Set(Element) | No Documentation Specified |
deployEcore(out:Element,package:Package,path:String):Element | No Documentation Specified |
deployJava(deployDir:String,package:Package,pname:String):Element | No Documentation Specified |
deployJavaHook(out:OutputChannel,package:Package,pname:String):Element | No Documentation Specified |
deployJavaImplementsHook(out:OutputChannel,package:Package,pname:String):Element | No Documentation Specified |
deployJavaSerializer(out:OutputChannel,package:Package):Element | No Documentation Specified |
deployXOCL(dir:String):Element | No Documentation Specified |
eCoreParents(path:String):String | No Documentation Specified |
eCoreRef(path:String):String | No Documentation Specified |
getAttribute(name:String):Attribute | Get an attribute using its name. Be aware that atttibutes, like all instances of NamedElement use symbols for names. The name argument supplied to 'getAttribute' can be a string or a symbol. |
getConstructor(arity:Integer):Constructor | Return the most specific constructor with the given arity or null if no constructor exists. |
getInstanceSlot(object:Element,name:Element):Element | Part of the MOP. Redefine in sub-classes to implement a specific slot access protocol. |
hasAttribute(name:String):Boolean | No Documentation Specified |
hasInstanceSlot(object:Element,name:Element):Element | Part of the MOP. Redefine in sub-classes to implement a specific slot existence protocol. |
init():Element | Initialise a class by initialising the attributes and then initialising as a classifier. |
javaAttributes(package:Package):Element | No Documentation Specified |
lift():Performable | No Documentation Specified |
matchXMLComplexAttributes(attributes:Seq(Attribute)):Element | No Documentation Specified |
new():Object | Create a new instance of a class. Each attribute becomes a slot in the new instance and the values of the slots are the default values of the corresponding attributes. Once the new object has been created, it is sent an 'init/0' message. Therefore, objects are initialised on a type-by-type basis. Note that there are two versions of 'new': this one 'new/0' that takes no arguments and uses 'init/0' to initialise the object; 'new/1' that takes initialisation arguments. In general, avoid using 'new' to instantiate classes and apply the class to initialisation arguments instead. |
populate(sig:Signature):Element | No Documentation Specified |
remove(n:NamedElement):Classifier | Exte-nd the behaviour inherited from Classifier by taking attributes into account. The argument is a named element to be removed from the receiver. |
removeAttribute(a:Attribute):Classifier | Remove an attribute supplied as an argument. Use 'remove/1' in preference to this operation. |
removeConstructor(c:Constructor):Classifier | No Documentation Specified |
repopulate(namedElement:NamedElement):Boolean | No Documentation Specified |
setInstanceSlot(object:Element,name:Element,value:Element):Element | Part of the MOP. Redefine in sub-classes to implement a specific slot update protocol. |
toHTMLDoc(fout:OutputChannel):Element | No Documentation Specified |
toHTMLDoc(fout:OutputChannel,showOpBody:Boolean):Element | No Documentation Specified |
toXMLClause():Element | No Documentation Specified |
writeXMLFactoryMethod(out:OutputChannel):Element | No Documentation Specified |
writeXMLFactoryMethodArgs(out:OutputChannel):Element | No Documentation Specified |
writeXMLFactoryMethodBody(out:OutputChannel):Element | No Documentation Specified |
writeXMLFactoryMethodBodyUpdateCollection(out:OutputChannel,attribute:Attribute):Element | No Documentation Specified |
writeXMLFactoryMethodBodyUpdateDataTypeSlot(out:OutputChannel,attribute:Attribute):Element | No Documentation Specified |
writeXMLFactoryMethodBodyUpdatePossibleRef(out:OutputChannel,attribute:Attribute):Element | No Documentation Specified |
writeXMLFactoryMethodBodyUpdates(out:OutputChannel):Element | No Documentation Specified |
From Classifier: javaTypeName, grammar, addGrammar, add, target, shadowOperation, sendInstance, repopulate, removeParent, removeOperation, getOperation, classify, checkParents, availableParents, allParents, allOperations, allConstraints, addParent, addOperation, hasOperation, add, addConstraint, default, defaultParents, dependencies, getConstraint, getOperation, inheritsFrom, initialized, init, initConstraints, initOperations, initParents, invoke, mapType, new, new, remove, removeConstraint. From NameSpace: writeEcore, lift, allHTMLEntries, allHTMLPackages, toHTML, toHTMLDoc, resolveNameClash, remove, putElement, newName, names, nameChanged, initBindings, init, init, getInstantiableClasses, getContents, define, getElement, hasElement, add, addBinding, hasBinding, removeBinding, redefine. From IndexedContainer: removeContentDaemon, indices, initContents, index, init, contents, contentDaemons, addContentDaemon, add, add, remove. From NamedElement: href, toString, setName, repopulate, pathSeq, path, name, getNamedElement. From DocumentedElement: setDoc, doc, ensureDoc. From Container: untraceAll, traceAll, removeContentDaemon, remove, initContents, init, includes, deleteRecursive, contentsThat, contentsOf, contents, contentDaemons, checkConstraints, checkConstraints, allContentsThat, allContentsOf, allContents, addContentDaemon, add. From Contained: owner, deleteRecursive, allOwners, addTo, setOwner, removeFromOwner. From Object: slotMissing, slotMissing, setProperty, setHotLoad, setDaemonsActive, setDaemons, set, renameSlot, removeStructuralFeature, removeDaemonsWithTarget, removeDaemonsWithId, removeDaemonNamed, removeDaemon, machineInit, initSlots, init, hotLoaded, hotLoad, hasSlot, hasProperty, getProperty, get, hasStructuralFeature, getStructuralFeatureNames, hasDaemonWithTarget, hasDaemonWithIdAndTarget, hasDaemonWithId, hasDaemonNamed, fire, destroyDaemon, daemonWithIdAndTarget, daemonWithId, daemonNamed, daemonsActive, daemons, allDaemonsWithTarget, allDaemonsWithId, compositeValues, allCompositeValuesAndSelf, allCompositeValues, addStructuralFeature, addPersistentDaemon, addMultiDaemon, addDaemon. From Element: pprint, pprint, pprint, writeXMLFile, writeXMLFile, writeXML, lift, toSnapshot, toSnapshot, allHTMLEntries, allHTMLPackages, toHTML, writeHTML, writeHTML, writeHTMLAllEntries, writeHTMLAllPackages, writeHTMLIndex, writeHTMLOverview, yield, toString, systemId, setOf, send, save2, save, removeDaemon, removeDaemon, println, print, oclIsKindOf, oclIsTypeOf, noOperationFound, isTypeOf, isReallyKindOf, init, init, of, isKindOf, addTo, checkConstraints, copy, deleteRecursive, die, edit, equals, error, ferror, hashCode. |