Packages

  • package root
    Definition Classes
    root
  • package info
    Definition Classes
    root
  • package kwarc
    Definition Classes
    info
  • package mmt
    Definition Classes
    kwarc
  • package api

    This is the main package of the MMT API.

    This is the main package of the MMT API.

    It holds subpackages for all data structures, data containers, and the central algorithms and services.

    Classes directly defined in the package

    Some minor classes that are used throughout MMT are defined in this package, in particular:

    • MMT URIs in the class Path and Namespace
    • processing and content errors in the class Error

    The package also contains root classes for certain types that are subclassed throughout the package. Most importantly:

    • StructuralElement: structure-level (= named) parts in the data structures for the MMT language: documents, theories, constants, ...
    • MMTTask: tasks for a single object: parsing, checking, ...
    • Rule: object-level part of the MMT language that is written in Scala

    Subpackages

    Data structures for the MMT language

    The data structures for the MMT languages are defined in 4 packages corresponding to the 4 levels: - documents: Documents and all other NarrativeElements - modules: Modules (= the toplevel declarations), in particular Theorys and Views - symbols: all Declarations inside modules, in particular Constants - objects: all anonymous Objects (e.g., formulas, functions, etc.), in particular Contexts and Terms

    The former 3 levels are jointly called 'structural' levels. All elements subclass StructuralElement, have an MMT URI, and carry an MMT URI referring to their parent in the MMT abstract syntax tree.

    Structural elements are extensible (via DerivedModules and DerivedDeclarations), and the package patterns defines declaration patterns as a built-in extension.

    All structural elements are mutable and implement the ContainerElement interface for changing their children. Objects, by contrast, are represented as immutable inductive types.(except for carrying metadata.Metadata and objects.ClientProperties). The boundary between structural elements and objects is mediated by ComponentContainers: these are mutable, owned by structural elements, and maintain objects.

    A few auxiliary data structures shifted to separate packages: - opaque: external (i.e., informal, computation) content - informal: partially outdated informal data structures - metadata: metadata annotations to all structural elements or objects

    The MMT main class and its internal state

    The package frontend contains the class Controller, which owns all state relevant for running MMT. Typically, each application creates a single instance of this class. The package also defines several other essential classes, most importantly MMT's extension (=plug-in, add-on) interfaces via the Extension class.

    The package libraries maintains the instances of MMT language data structures, in particular the Library class. Controller owns a Library, which stores all structural elements that have been loaded into memory.

    User interfaces

    The package frontend also contains the main executable classes, in particular the Shell class.

    The package gui collects all classes for building graphical user interfaces. This includes auxiliary classes for use in IDE plugins.

    The package web collects all classes for the HTTP interface of MMT.

    Physical storage of the MMT language files

    The package archives defines MMT Archives (= projects) as well as classes for building and working with archives. The latter include in particular the BuildManager and BuildTarget. Build targets include Importers and [Exporter]]s that translate between MMT and other formats.

    The package backend defines classes for maintaining archives and translating between the MMT URIs of structural elements and their physical storage locations.

    The central algorithms for processing MMT content

    The processing model of MMT consists of several major algorithms. - parser: read strings into MMT data structures - checking: check and refine MMT data structures - uom: pure computation on MMT data structures - proving: theorem proving on MMT data structures (in very early state)) - execution: imperative computation (in very, very early state) - presentation: rendering MMT data structures in user-facing formats (including HTML+presentation MathML)

    All algorithms are defined in Extensions coupled with default implementations. Moreover, all algorithms are split into two separate levels, one for structural elements and objects. See LeveledExtension.

    The package notations maintains the common code for parsing and presentation.

    The package valuebases maintains mathematical databases as a part of MMT.

    Other algorithms on the MMT data structures

    The package ontology contains a relational, semantic web-style ontology and query engine for it.

    The package moc contains change management.

    The package refactoring contains refactoring principles.

    General purpose utility functions

    The package utils defines general purpose APIs for files, URIs, HTML building, etc.

    Definition Classes
    mmt
  • package web

    Server maintains the HTTP interface of MMT.

    Server maintains the HTTP interface of MMT. The server is owned by the frontend.Controller.

    It can be customized by ServerExtensions.

    The REPLServer maintains a set of independent REPL loops for MMT content.

    Definition Classes
    api
  • ActionServer
  • Body
  • BreadcrumbsServer
  • ContextMenuAggregator
  • ContextMenuEntry
  • ContextMenuProvider
  • DirectGraphBuilder
  • FileServer
  • GetActionServer
  • GraphBuilder
  • GraphSolverExtension
  • Graphs
  • JArchiveGraph
  • JDocgraph
  • JGraphBuilder
  • JGraphEdge
  • JGraphExporter
  • JGraphNode
  • JGraphSelector
  • JGraphSideBar
  • JMPDGraph
  • JPgraph
  • JSONBasedGraphServer
  • JThgraph
  • MessageHandler
  • ParseServer
  • PostServer
  • QueryServer
  • REPLServer
  • REPLSession
  • RemoteAdminClient
  • RemoteAdminConnection
  • RemoteAdminServer
  • RequestMethod
  • SVGServer
  • SearchServer
  • Server
  • ServerError
  • ServerExtension
  • ServerImplementation
  • ServerRequest
  • ServerResponse
  • ServerTiscafAdapter
  • Session
  • SimpleJGraphExporter
  • StandardBuilder
  • SubmitCommentServer
  • TEMASearchServer
  • TiscafServerImplementation
  • TreeView
  • URIProducer
  • URIServer
  • Util
  • WebQuery

class Server extends TiscafServerImplementation with Logger

An HTTP RESTful server.

Source
Server.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Server
  2. Logger
  3. TiscafServerImplementation
  4. ServerImplementation
  5. HServer
  6. HLoggable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Server(port: Int, host: String, controller: Controller)

Type Members

  1. class RequestHandler extends HApp
    Attributes
    protected
    Definition Classes
    TiscafServerImplementation

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apps: List[RequestHandler]

    Returns the list of available applications.

    Returns the list of available applications.

    Attributes
    protected
    Definition Classes
    TiscafServerImplementationHServer
    See also

    tiscaf.HApp

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def bindHost: String

    The host the server binds to

    The host the server binds to

    Definition Classes
    TiscafServerImplementationHServer
  7. def bufferSize: Int

    Returns the NIO buffer size.

    Returns the NIO buffer size.

    Definition Classes
    HServer
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  9. def connectionTimeoutSeconds: Int

    Returns the connection timeout.

    Returns the connection timeout. It has to purposes:

    • a connection without any socket activity during this period will be closed
    • if you use (and client wants) 'keep-alive' connection, this period is declared in response header
    Definition Classes
    TiscafServerImplementationHServer
  10. def defaultHeaders: Map[String, String]

    The list of defaults headers that are set by the server for each request.

    The list of defaults headers that are set by the server for each request. Each let may override (or remove) them later

    Definition Classes
    HServer
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def error(msg: String, t: Throwable): Unit

    Called to log a tiscaf internal error.

    Called to log a tiscaf internal error. Note: This methods is not intended to be called by applications using tiscaf. Override it to log using your favorite logging library. By default, logs the message and the stack trace to stderr.

    Definition Classes
    TiscafServerImplementationHServerHLoggable
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def handleError(t: Throwable): Unit

    handle a fatal error in the underlying implementation

    handle a fatal error in the underlying implementation

    Definition Classes
    ServerServerImplementation
  17. def handleMessage(s: String): Unit

    handle a log message by the underlying server

    handle a log message by the underlying server

    Definition Classes
    ServerServerImplementation
  18. def handleRequest(request: ServerRequest): ServerResponse

    handle a single request in a safe way

    handle a single request in a safe way

    Definition Classes
    ServerServerImplementation
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. val host: String
  21. def info(msg: String): Unit

    Called to log a tiscaf internal information.

    Called to log a tiscaf internal information. Note: This methods is not intended to be called by applications using tiscaf. Override it to log using your favorite logging library. By default, logs the message to stdout.

    Definition Classes
    TiscafServerImplementationHServerHLoggable
  22. def interruptTimeoutMillis: Int

    Returns the time a shutdown process let the HLets a chance to finish properly.

    Returns the time a shutdown process let the HLets a chance to finish properly.

    Definition Classes
    HServer
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. val listenAddress: String

    the address this server should listen to

    the address this server should listen to

    Definition Classes
    ServerServerImplementation
  25. val listenPort: Int

    the port this server should listen to

    the port this server should listen to

    Definition Classes
    ServerServerImplementation
  26. def log(e: Error): Unit

    logs an error - always logged

    logs an error - always logged

    Attributes
    protected
    Definition Classes
    Logger
  27. def log(s: ⇒ String, subgroup: Option[String] = None): Unit

    logs a message with this logger's logprefix

    logs a message with this logger's logprefix

    Attributes
    protected
    Definition Classes
    Logger
  28. def logError(s: ⇒ String): Unit

    log as an error message

    log as an error message

    Attributes
    protected
    Definition Classes
    Logger
  29. def logGroup[A](a: ⇒ A): A

    wraps around a group to create nested logging

    wraps around a group to create nested logging

    Attributes
    protected
    Definition Classes
    Logger
  30. val logInternals: Boolean

    Sets it to true to have internal information from tiscaf logged

    Sets it to true to have internal information from tiscaf logged

    Attributes
    protected
    Definition Classes
    TiscafServerImplementationHServer
  31. val logPrefix: String
    Definition Classes
    ServerLogger
  32. def logTemp(s: ⇒ String): Unit

    temporary logging - always logged

    temporary logging - always logged

    Attributes
    protected
    Definition Classes
    Logger
  33. def maxPostDataLength: Int

    Returns the maximum upload size allowed.

    Returns the maximum upload size allowed.

    Attributes
    protected
    Definition Classes
    HServer
  34. def name: String

    Returns the server name, used in response headers.

    Returns the server name, used in response headers.

    Definition Classes
    TiscafServerImplementationHServer
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  37. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  38. def onStart(): Unit

    Executed at the end of the server is started

    Executed at the end of the server is started

    Attributes
    protected
    Definition Classes
    HServer
  39. def onStop(): Unit

    Executed before the server is stopped

    Executed before the server is stopped

    Attributes
    protected
    Definition Classes
    HServer
  40. def poolSize: Int

    Returns the executor pool size.

    Returns the executor pool size.

    Attributes
    protected
    Definition Classes
    HServer
  41. val port: Int
  42. def ports: Set[Int]

    Returns the list of ports, the server listens to.

    Returns the list of ports, the server listens to.

    Attributes
    protected
    Definition Classes
    TiscafServerImplementationHServer
  43. def queueSize: Int

    Returns the executor queue size.

    Returns the executor queue size.

    Attributes
    protected
    Definition Classes
    HServer
  44. val report: Report
    Definition Classes
    ServerLogger
  45. val serverName: String

    the name of this server

    the name of this server

    Definition Classes
    ServerServerImplementation
  46. def ssl: List[HSslContext]

    Returns the SSL settings if any.

    Returns the SSL settings if any.

    Definition Classes
    HServer
  47. def start: Unit

    Starts the server.

    Starts the server.

    Definition Classes
    HServer
  48. def startStopListener: Unit

    Starts the stop listener.

    Starts the stop listener. Override if you want more elaborated shutdown procedure (and replace tiscaf.HStop)

    Definition Classes
    TiscafServerImplementationHServer
  49. def stop: Unit

    stop the server; for some reason this throws IOException which we catch here

    stop the server; for some reason this throws IOException which we catch here

    Definition Classes
    TiscafServerImplementationHServer
  50. def stopHost: String

    Returns the host to listen to for stop message.

    Returns the host to listen to for stop message.

    Definition Classes
    HServer
  51. def stopPort: Int

    Returns the port number listened to for a stop message.

    Returns the port number listened to for a stop message.

    Definition Classes
    HServer
  52. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  53. def tcpNoDelay: Boolean
    Definition Classes
    TiscafServerImplementationHServer
  54. def toString(): String
    Definition Classes
    AnyRef → Any
  55. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  58. def warning(msg: String): Unit

    Called to log a tiscaf internal warning.

    Called to log a tiscaf internal warning. Note: This methods is not intended to be called by applications using tiscaf. Override it to log using your favorite logging library. By default, logs the message to stdout.

    Definition Classes
    TiscafServerImplementationHServerHLoggable

Inherited from Logger

Inherited from ServerImplementation

Inherited from HServer

Inherited from HLoggable

Inherited from AnyRef

Inherited from Any

Ungrouped