<<Type>> Schema {Analysis} derived from: NameSpace

Documentation
A Schema is a NameSpace for metaclass objects that each describes a class, type, interface or record type.

It has a local name for location in a larger name space scope, and a mapping that indexed the names of any named object. Targets of this index are usually locally described.

{description->contains(n) implies locate(n.typeName) =n}


Parent PackageRecords and Class MetadataAbstractNo
Export ControlPublicAccessLink Class forNone
Class KindNormalClassCardinalityn
Space ConcurrencySequential
PersistenceYes  


Operations
NameSignatureClass
asRecordSchemaRecordSchema asRecordSchema ()Schema
locateType locate (TypeName name)Schema
nameGenericName name ()NameSpace
selectAny select (GenericName name)NameSpace
locateAny locate (LocalName name)NameSpace
generateIDLocalName generateID (Any registeredObj)NameSpace
registerIDBoolean registerID (LocalName aName, Reference<Any> registeredObj)NameSpace
unregisterIDBoolean unregisterID (LocalName aName, Reference<Any> registeredObj)NameSpace


Attributes
NameClassTypeInitial Value
schemaNameSchemaLocalName 
isGlobalSchemaBoolean 
acceptableClassList[0..*]SchemaTypeName{Any}
isGlobalNameSpaceBoolean 
acceptableClassList[0..*]NameSpaceTypeName{Any}


Associations
NameMy RoleMy ClassOther RoleOther Element
TypeListschemaSchemadescriptionType
ScopescopeNameSpacenameGenericName


Generalization Relationships
NameClassSupplier
--Not Named--SchemaNameSpace