Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package nlogo
    Definition Classes
    org
  • package workspace
    Definition Classes
    nlogo
  • object ExtensionManager

    Some simple notes on loading and unloading extensions: - The load method is called when an extension appears in the extensions block when it wasn't there in the last compilation - The unload method is called when an extension is removed from the extensions block

    Some simple notes on loading and unloading extensions: - The load method is called when an extension appears in the extensions block when it wasn't there in the last compilation - The unload method is called when an extension is removed from the extensions block

    ExtensionManager lifecycle call chart. In [square brackets] are methods called on the extension manager. In {curly braces} are the methods called on the class manager of the extension. Conditions are specified in (parens)

    [startFullCompilation] // called by compiler | | (no exts) (ext foo) | | | v | [importExtension(foo)] // called by compiler | | | | (foo loaded) (foo not loaded) | | | | v v | {unload} {runOnce} | | | | v v | +-----{load} | | | // return control to compiler |(foo:bar not used) (foo:bar used) | | | | | v | | [replaceIdentifer(foo:bar)] // foo added to live set | | | | | | v v v [finishFullCompilation] | | | (no ext) (foo live) (foo not live) | | | --- --- v {unload} | ---

    Definition Classes
    workspace
  • ExtensionData
  • ExtensionLoader
  • JarContainer

class JarContainer extends AnyRef

Source
ExtensionManager.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JarContainer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JarContainer(jarClassLoader: ClassLoader, data: ExtensionData)

Value Members

  1. var classManager: ClassManager
  2. val extensionName: String
  3. val fileURL: URL
  4. val jarClassLoader: ClassLoader
  5. def load(instantiatedClassManager: ClassManager, extensionManager: ExtensionManager): Unit
  6. var loaded: Boolean
  7. val modified: Long
  8. val normalizedName: String
  9. val primManager: ExtensionPrimitiveManager
  10. def unload(extensionManager: ExtensionManager): Unit