org.nlogo.api

ExtensionManager

trait ExtensionManager extends AnyRef

ExtensionManager provides some methods that can be used in runOnce

Source
ExtensionManager.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. ExtensionManager
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addToLibraryPath(classManager: AnyRef, directory: String): Unit

  2. abstract def anyExtensionsLoaded: Boolean

    Returns true if any extensions have been imported in the current model.

  3. abstract def dumpExtensionPrimitives(): String

  4. abstract def dumpExtensions: String

  5. abstract def finishFullCompilation(): Unit

    Instructs any extensions which haven't been re-imported during the current compile to shut down.

    Instructs any extensions which haven't been re-imported during the current compile to shut down. Should be called during each full re-compile.

    See the top of org.nlogo.workspace.ExtensionManager for full details.

  6. abstract def getExtensionNames: List[String]

  7. abstract def getFile(path: String): File

    Annotations
    @throws( classOf[ExtensionException] )
  8. abstract def getJarPaths: List[String]

  9. abstract def getSource(filename: String): String

    Annotations
    @throws( classOf[java.io.IOException] )
  10. abstract def importExtension(jarPath: String, errors: ErrorSource): Unit

    Loads the extension contained in the jar at jarPath.

    Loads the extension contained in the jar at jarPath.

    jarPath

    the path to the extension jar. May be relative to the current model directory.

    errors

    the ErrorSource to use when a CompilerException needs to be thrown.

    Annotations
    @throws( classOf[CompilerException] )
  11. abstract def loadedExtensions: Iterable[ClassManager]

    uses java.

    uses java.lang.Iterable for easy access from Java

  12. abstract def profilingEnabled: Boolean

  13. abstract def readExtensionObject(extname: String, typeName: String, value: String): ExtensionObject

    Annotations
    @throws( classOf[CompilerException] )
  14. abstract def readFromString(src: String): AnyRef

    Annotations
    @throws( classOf[CompilerException] )
  15. abstract def replaceIdentifier(name: String): Primitive

    Returns the identifier "name" by its imported implementation, if any, or null if not.

  16. abstract def reset(): Unit

    Instructs any loaded extensions to unload.

    Instructs any loaded extensions to unload. Should be called previous to a new model load.

  17. abstract def resolvePath(path: String): String

  18. abstract def resolvePathAsURL(path: String): String

  19. abstract def retrieveObject: AnyRef

    returns

    the stored object

  20. abstract def startFullCompilation(): Unit

    During compilation, we reach the extensions [ .

    During compilation, we reach the extensions [ ... ] block. When that happens, the compiler tells the ExtensionManager that it needs to forget what extensions are in the extensions [ ... ] block, by calling this method.

    The compiler will then call the importExtension method for each extension in the block. Among other things, this lets the ExtensionManager know each extension that is "live", or currently in the block, so that its primitives are available for use elsewhere in the model.

    See the top of org.nlogo.workspace.ExtensionManager for full details.

  21. abstract def storeObject(obj: AnyRef): Unit

    Stores an object for the extension that can be retrieved in runOnce if the extension is loaded again.

    Stores an object for the extension that can be retrieved in runOnce if the extension is loaded again. This is useful if the extension has initialization it needs to perform that should only happen once, even if the extension is loaded multiple times.

    obj

    the object to be stored