trait ObjContainer[T <: Obj] extends AbstractObjectContainer
TermContainer acts as the interface between the structural and the object level
Elements like info.kwarc.mmt.api.symbols.Constant that have a info.kwarc.mmt.api.objects.Term as a component will not declare a term directly but a TermContainer.
TermContainer keeps track of different syntactic representations of the same semantic term. It also stores additional status information.
The representations are read < parsed < analyzed < normalized. Setting a representation marks the higher representations as dirty.
- T
the type of objects stored; the type bound is not actually needed, but it helps putting sharper bound on some return types
- Source
- MultiDimTerm.scala
- Alphabetic
- By Inheritance
- ObjContainer
- AbstractObjectContainer
- ComponentContainer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- abstract type ThisType <: ObjContainer[T]
Abstract Value Members
- abstract def getAnalyzedIfFullyChecked: Option[T]
-
abstract
def
hasSameType(oc: ObjContainer[_]): Boolean
checks if a container stores objects of the same type
checks if a container stores objects of the same type
- Attributes
- protected
-
abstract
def
newEmpty: ThisType
creates a new empty container for the same type
creates a new empty container for the same type
- Attributes
- protected
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
analyzed: Option[T]
the analyzed representation after type and argument reconstruction (if non-dirty)
- def analyzed_=(t: T): Boolean
-
def
analyzed_=(t: Option[T]): Boolean
setter for the analyzed representation
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
copy: ThisType
creates a deep copy of this container, dirty parts are dropped
-
def
delete: Unit
delete this component
delete this component
- Definition Classes
- ObjContainer → ComponentContainer
-
lazy val
dependsOn: HashSet[CPath]
stores the set of components that analysis depended on
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
equivalentTo(that: ComponentContainer): Boolean
true if two containers have the same content
true if two containers have the same content
- Definition Classes
- ComponentContainer
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
get: Option[T]
getter for the best available non-dirty representation: analyzed or parsed
getter for the best available non-dirty representation: analyzed or parsed
- Definition Classes
- ObjContainer → AbstractObjectContainer
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
isAnalyzedDirty: Boolean
true if the term must be (re)analyzed
-
def
isDefined: Boolean
true if any dimension is present, i.e., if the component is present
true if any dimension is present, i.e., if the component is present
- Definition Classes
- ObjContainer → ComponentContainer
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isParsedDirty: Boolean
true if the term must still be (re)parsed
-
def
lastChangeAnalyzed: Long
time of the last change
-
def
lastChangeParsed: Long
time of the last change
- def merge(that: ThisType): ThisType
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
normalize(normFun: (T) ⇒ T): Unit
sets the normalized representation (if not already set) using a normalization function Because normalization is need-based, this should be called, if possible, before accessing the normalized representation.
-
def
normalized: Option[T]
the normalized representation after type and argument reconstruction (if non-dirty)
the normalized representation after type and argument reconstruction (if non-dirty)
This is not always computed, and even if it is, it is not returned by default by the get method. It is intended for optimizations where the normalized form of a Term would otherwise have to be recomputed.
-
def
normalized_=(t: Option[T]): Boolean
setter for the normalized representation
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
parsed: Option[T]
the parsed representation without further analysis (if non-dirty)
- def parsed_=(t: T): Unit
-
def
parsed_=(t: Option[T]): Boolean
setter for the parsed representation without further analysis
-
def
read: Option[String]
the unparsed string representation
- def read_=(s: String): Unit
-
def
read_=(s: Option[String]): Boolean
setter for the unparsed string representation
-
def
set(t: T): Unit
clears the contents of this component and sets it to a new value
-
def
setAnalyzedDirty: Unit
marks this term for re-analysis
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- ObjContainer → AnyRef → Any
-
def
update(tc: ComponentContainer): Boolean
copies over the non-dirty components of another TermContainer dependent dimensions that are not part of tc become dirty
copies over the non-dirty components of another TermContainer dependent dimensions that are not part of tc become dirty
- returns
true if a change took place
- Definition Classes
- ObjContainer → ComponentContainer
-
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()