org.nlogo.api
Interface Context

All Known Implementing Classes:
ExtensionContext

public interface Context

Provides access to the current execution environment.


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 runCommand(String source, boolean waitForFinish)
          Runs a command as if it were written in the Command Center.
 Object runReporter(String source)
          Runs a reporter as if it were written in the Command Center.
 

Method Detail

getAgent

Agent getAgent()
Returns the agent that is currently executing this code.


runCommand

void runCommand(String source,
                boolean waitForFinish)
                throws ExtensionException
Runs a command as if it were written in the Command Center.

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

Object runReporter(String source)
                   throws ExtensionException
Runs a reporter as if it were written in the Command Center.

Parameters:
source - the source code to run
Returns:
the object returned by the reporter
Throws:
ExtensionException

getDrawing

BufferedImage getDrawing()
Returns the drawing image. ( experimental )


attachModelDir

String attachModelDir(String filePath)
                      throws MalformedURLException
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.

Parameters:
filePath - the path to be processed
Returns:
an absolute path
Throws:
MalformedURLException

attachCurrentDirectory

String attachCurrentDirectory(String path)
                              throws MalformedURLException
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.

Throws:
MalformedURLException

getRNG

org.nlogo.util.MersenneTwisterFast getRNG()
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.

Returns:
a random number generator