org.nlogo.nvm
Class ExtensionContext

java.lang.Object
  extended by org.nlogo.nvm.ExtensionContext
All Implemented Interfaces:
Context

public class ExtensionContext
extends Object
implements Context


Constructor Summary
ExtensionContext(Workspace workspace, Context context)
           
 
Method Summary
 String attachCurrentDirectory(String path)
          Transforms a relative path to an absolute path by prepending the current working directory.
 String attachModelDir(String filePath)
          Transforms a relative path to a model into an absolute path by prepending the current model directory.
 Agent getAgent()
          Returns the agent that is currently executing this code.
 BufferedImage getDrawing()
          Returns the drawing image. ( experimental )
 org.nlogo.util.MersenneTwisterFast getRNG()
          This method returns the Random Number Generator for the current Job.
 void importPcolors(BufferedImage image, boolean asNetLogoColors)
          Imports an image into the the patch colors either as NetLogo colors or RGB colors
 Context nvmContext()
           
 void runCommand(String source, boolean waitForFinish)
          Deprecated. 
 Object runReporter(String source)
          Deprecated. 
 Workspace workspace()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionContext

public ExtensionContext(Workspace workspace,
                        Context context)
Method Detail

nvmContext

public Context nvmContext()

workspace

public Workspace workspace()

getAgent

public Agent getAgent()
Description copied from interface: Context
Returns the agent that is currently executing this code.

Specified by:
getAgent in interface Context

runCommand

@Deprecated
public void runCommand(String source,
                                  boolean waitForFinish)
                throws ExtensionException
Deprecated. 

Description copied from interface: Context
Runs a command as if it were written in the Command Center.

Specified by:
runCommand in interface Context
Parameters:
source - the source code to run
waitForFinish - determines whether the method returns immediately, or waits until the Logo code is done executing
Throws:
ExtensionException

runReporter

@Deprecated
public Object runReporter(String source)
                   throws ExtensionException
Deprecated. 

Description copied from interface: Context
Runs a reporter as if it were written in the Command Center.

Specified by:
runReporter in interface Context
Parameters:
source - the source code to run
Returns:
the object returned by the reporter
Throws:
ExtensionException

attachModelDir

public String attachModelDir(String filePath)
                      throws MalformedURLException
Description copied from interface: Context
Transforms a relative path to a model into an absolute path by prepending the current model directory. If this is a new model, and therefore doesn't have a model directory yet, the user's platform-dependent home directory is prepended instead. If filePath is an absolute path, it is returned unchanged.

Specified by:
attachModelDir in interface Context
Parameters:
filePath - the path to be processed
Returns:
an absolute path
Throws:
MalformedURLException

attachCurrentDirectory

public String attachCurrentDirectory(String path)
                              throws MalformedURLException
Description copied from interface: Context
Transforms a relative path to an absolute path by prepending the current working directory. If filePath is an absolute path, it is returned unchanged.

The "current working directory" is the current directory used by NetLogo's file I/O primitives, and can be changed by the user at run-time using the file-set-current-directory primitive. Its initial value is the directory from which the current model was loaded, or the user's home directory if this is a new model.

Specified by:
attachCurrentDirectory in interface Context
Throws:
MalformedURLException

getRNG

public org.nlogo.util.MersenneTwisterFast getRNG()
Description copied from interface: Context
This method returns the Random Number Generator for the current Job. This allows the creation of random numbers that come from the same predictable reproducible sequence that the other NetLogo primitives use. Thus, it is generally preferable to pull your random numbers from this source, rather than java.util.Random.

Specified by:
getRNG in interface Context
Returns:
a random number generator

getDrawing

public BufferedImage getDrawing()
Description copied from interface: Context
Returns the drawing image. ( experimental )

Specified by:
getDrawing in interface Context

importPcolors

public void importPcolors(BufferedImage image,
                          boolean asNetLogoColors)
Description copied from interface: Context
Imports an image into the the patch colors either as NetLogo colors or RGB colors

Specified by:
importPcolors in interface Context