trait ModuleOrLink extends ContentElement with ContainerElement[Declaration] with HasDefiniens
this class carries the common properties of complex structural elements, in particular the body and the optional definiens Instances are of two type: Theory and Views are Modules; Views and Structures are Links
It stores both the logical Declarations as well as their narrative structure. The former uses a hash from LocalName to Declaration, which completely ignores narrative structure. In particular, declaration names must be unique independent of the narrative grouping. The latter is stored as a Document, which holds SRef to the logical declarations.
- Self Type
- ModuleOrLink
- Source
- Body.scala
- Alphabetic
- By Inheritance
- ModuleOrLink
- HasDefiniens
- ContainerElement
- MutableElementContainer
- ElementContainer
- ContentElement
- StructuralElement
- NamedElement
- Content
- ClientProperties
- HasMetaData
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
dfC: TermContainer
- Definition Classes
- HasDefiniens
-
abstract
val
feature: String
the kind of declaration, e.g., "constant"
the kind of declaration, e.g., "constant"
- Definition Classes
- ContentElement → StructuralElement
-
abstract
def
getAllIncludes: List[IncludeData]
Get all transitive inclusions, but not inclusion of itself.
-
abstract
def
getComponents: List[DeclarationComponent]
returns all term components of this elements
returns all term components of this elements
- Definition Classes
- StructuralElement
-
abstract
def
getInnerContext: Context
the context of all declarations in this body
-
abstract
def
name: LocalName
local name relative to the parent element or namespace
local name relative to the parent element or namespace
- Definition Classes
- ContentElement → NamedElement
-
abstract
def
outerString: String
header as a string (without definiens)
header as a string (without definiens)
- Attributes
- protected
-
abstract
def
parent: ComponentParent
the containing knowledge item, a URL if none
the containing knowledge item, a URL if none
- Definition Classes
- StructuralElement
-
abstract
def
path: ContentPath
the MMT URI of the element
the MMT URI of the element
- Definition Classes
- ContentElement → StructuralElement
-
abstract
def
selfInclude: IncludeData
Get self inclusion.
-
abstract
def
toNode: Node
XML representation
XML representation
- Definition Classes
- Content
-
abstract
def
toTerm: Term
this element as a module expression
this element as a module expression
- Definition Classes
- ModuleOrLink → ContentElement
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
add(d: Declaration, at: AddPosition = AtEnd): Unit
adds a named declaration, throws exception if name already declared
adds a named declaration, throws exception if name already declared
- d
declaration to add
- at
the position where to add, at end by default this throws an errors if a declaration for that name already exists; exception: if the two declarations are equivalent, the old one is overridden
- Definition Classes
- ModuleOrLink → MutableElementContainer
-
def
addAfterNarrative(d: Declaration, after: LocalName): Unit
like add, but treats the second argument as the name of a NarrativeElement
-
def
asDocument: Document
the narrative structure
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
clientProperty: ListMap[URI, Any]
- Definition Classes
- ClientProperties
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
compatible(that: StructuralElement): Boolean
two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's
two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's
- Definition Classes
- StructuralElement
-
def
declares(name: LocalName): Boolean
true iff a declaration for a name is present
-
def
delete(name: LocalName): Option[Declaration]
delete a named declaration (does not have to exist)
delete a named declaration (does not have to exist)
- returns
the deleted declaration
- Definition Classes
- ModuleOrLink → MutableElementContainer
-
def
df: Option[Term]
- Definition Classes
- HasDefiniens
-
def
dfNode: Seq[Node] with AbstractSeq[Node] with Serializable
- Definition Classes
- HasDefiniens
-
def
domain: List[LocalName]
the list of names of all declarations
the list of names of all declarations
- Definition Classes
- ModuleOrLink → ElementContainer
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
equivalentTo(that: StructuralElement): Boolean
logically equivalent: compares headerInfo, components, and declarations
logically equivalent: compares headerInfo, components, and declarations
- Definition Classes
- StructuralElement
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
foreachComponent(f: (CPath, ComponentContainer) ⇒ Unit): Unit
recursively applies a function to all components in this element (in declaration order)
recursively applies a function to all components in this element (in declaration order)
- Definition Classes
- ContentElement
-
def
foreachDeclaration(f: (ContentElement) ⇒ Unit): Unit
recursively applies a function to all declarations in this element (in declaration order)
recursively applies a function to all declarations in this element (in declaration order)
- Definition Classes
- ContentElement
-
def
get(name: LocalName): Declaration
- Definition Classes
- ElementContainer
-
def
getAllIncludesWithSelf: List[IncludeData]
Get all transitive-reflexive inclusions.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getComponent(k: ComponentKey): Option[ComponentContainer]
returns a specific component if present
returns a specific component if present
- Definition Classes
- StructuralElement
-
def
getComponentContext(k: ComponentKey): Context
like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist
like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist
- Definition Classes
- StructuralElement
-
def
getDeclarations: List[Declaration]
the list of declarations in narrative order, includes generated declarations
the list of declarations in narrative order, includes generated declarations
- Definition Classes
- ModuleOrLink → ElementContainer → ContentElement → StructuralElement
-
def
getDeclarationsBefore(n: LocalName): List[Declaration]
- Definition Classes
- ElementContainer
-
def
getDeclarationsElaborated: List[Declaration]
the list of declarations using elaborated declarations where possible these are: primitive elements: includes, constants other elements if they have not been fully elaborated
the list of declarations using elaborated declarations where possible these are: primitive elements: includes, constants other elements if they have not been fully elaborated
- Definition Classes
- ContainerElement
-
def
getMetaDataNode: NodeSeq
- Definition Classes
- HasMetaData
-
def
getMostSpecific(name: LocalName): Option[(Declaration, LocalName)]
- Definition Classes
- ModuleOrLink → ElementContainer
-
def
getO(name: LocalName): Option[Declaration]
retrieve a declaration
retrieve a declaration
- Definition Classes
- ModuleOrLink → ElementContainer
-
def
getO(name: String): Option[Declaration]
same as get(LocalName(name))
same as get(LocalName(name))
- Definition Classes
- ElementContainer
-
def
getOrigin: Origin
- Definition Classes
- StructuralElement
-
def
getPrimitiveDeclarations: List[Declaration]
the list of declarations in the order of addition, excludes generated declarations
the list of declarations in the order of addition, excludes generated declarations
- Definition Classes
- ContainerElement
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
headerInfo: HeaderInfo
header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants
header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants
- Definition Classes
- StructuralElement
-
def
headerNodes: Seq[Node]
common inner nodes: definiens (metadata is part of document)
common inner nodes: definiens (metadata is part of document)
- Attributes
- protected
-
def
innerNodes: NodeSeq
getPrimitiveDeclarations, with narrative structure
getPrimitiveDeclarations, with narrative structure
- Attributes
- protected
-
def
innerNodesElab: List[Node]
getDeclarationsElaborated, without narrative structure
getDeclarationsElaborated, without narrative structure
- Attributes
- protected
-
def
innerString: String
body as a string
-
def
isDeclared(name: LocalName): Boolean
- Definition Classes
- ElementContainer
-
def
isEmpty: Boolean
true iff no declarations present
-
def
isGenerated: Boolean
- Definition Classes
- StructuralElement
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
merge(that: StructuralElement): Unit
merge all properties of 'that' into 'this' except for components and declarations
merge all properties of 'that' into 'this' except for components and declarations
- Definition Classes
- StructuralElement
-
val
metadata: MetaData
- Definition Classes
- HasMetaData
-
def
modulePath: MPath
path if seen as a module
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
reorder(ln: LocalName): Unit
moves a declaration to the end of its section (if the relDocHome of ln has changed, it is also moved to the new section) also moves all subsequent ln/X declarations (and updates their relDocHome)
moves a declaration to the end of its section (if the relDocHome of ln has changed, it is also moved to the new section) also moves all subsequent ln/X declarations (and updates their relDocHome)
- Definition Classes
- ModuleOrLink → MutableElementContainer
-
def
setOrigin(o: Origin): Unit
- Definition Classes
- StructuralElement
-
val
statements: HashMap[LocalName, Declaration]
the set of named statements, indexed by name if a statement has an alternativeName, it occurs twice in this map
the set of named statements, indexed by name if a statement has an alternativeName, it occurs twice in this map
- Attributes
- protected
- def streamInnerNodes(rh: RenderingHandler): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toNode(rh: RenderingHandler): Unit
by default, this prints out toNode
by default, this prints out toNode
potentially large StructuralElements should override it with a memory-efficient implementation
- Definition Classes
- Content
-
def
toString(): String
outerString, definiens, innerString
outerString, definiens, innerString
- Definition Classes
- ModuleOrLink → AnyRef → Any
-
def
translateDf(translator: Translator, context: Context): TermContainer
- Definition Classes
- HasDefiniens
-
def
update(s: Declaration): Unit
updates a named declaration (preserving the order)
updates a named declaration (preserving the order)
- Definition Classes
- ModuleOrLink → MutableElementContainer
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()