imagej.patcher
Class LegacyEnvironment

java.lang.Object
  extended by imagej.patcher.LegacyEnvironment

public class LegacyEnvironment
extends Object

Encapsulates an ImageJ 1.x "instance".

This class is a partner to the LegacyClassLoader, intended to make sure that the ImageJ 1.x contained in a given class loader is patched and can be accessed conveniently.

Author:
"Johannes Schindelin"

Constructor Summary
LegacyEnvironment(ClassLoader loader, boolean headless)
          Constructs a new legacy environment.
 
Method Summary
 ClassLoader getClassLoader()
          Gets the class loader containing the ImageJ 1.x classes used in this legacy environment.
static LegacyEnvironment getPatchedImageJ1()
          Launches a fully-patched, self-contained ImageJ 1.x.
 void main(String... args)
          Runs ImageJ.main(args) in the legacy environment.
 void run(String command, String options)
          Runs IJ.run(command, options) in the legacy environment.
 void runMacro(String macro, String arg)
          Runs IJ.runMacro(macro, arg) in the legacy environment.
 Object runPlugIn(String className, String arg)
          Runs IJ.runPlugIn(className, arg) in the legacy environment.
 void setMacroOptions(String options)
          Sets the macro options.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LegacyEnvironment

public LegacyEnvironment(ClassLoader loader,
                         boolean headless)
                  throws ClassNotFoundException
Constructs a new legacy environment.

Parameters:
loader - the ClassLoader to use for loading the (patched) ImageJ 1.x classes; if null, a LegacyClassLoader is constructed.
headless - whether to patch in support for headless operation (compatible only with "well-behaved" plugins, i.e. plugins that do not use graphical components directly)
Throws:
ClassNotFoundException
Method Detail

setMacroOptions

public void setMacroOptions(String options)
Sets the macro options.

Both run(String, String) and runMacro(String, String) take an argument that is typically recorded by the macro recorder. For runPlugIn(String, String), however, only the arg parameter that is to be passed to the plugins run() or setup() method can be specified. For those use cases where one wants to call a plugin class directly, but still provide macro options, this method is the solution.

Parameters:
options - the macro options to use for the next call to runPlugIn(String, String)

run

public void run(String command,
                String options)
Runs IJ.run(command, options) in the legacy environment.

Parameters:
command - the command to run
options - the options to pass to the command

runMacro

public void runMacro(String macro,
                     String arg)
Runs IJ.runMacro(macro, arg) in the legacy environment.

Parameters:
macro - the macro code to run
arg - an optional argument (which can be retrieved in the macro code via getArgument())

runPlugIn

public Object runPlugIn(String className,
                        String arg)
Runs IJ.runPlugIn(className, arg) in the legacy environment.

Parameters:
className - the plugin class to run
arg - an optional argument (which get passed to the run() or setup() method of the plugin)

main

public void main(String... args)
Runs ImageJ.main(args) in the legacy environment.

Parameters:
args - the arguments to pass to the main() method

getClassLoader

public ClassLoader getClassLoader()
Gets the class loader containing the ImageJ 1.x classes used in this legacy environment.

Returns:
the class loader

getPatchedImageJ1

public static LegacyEnvironment getPatchedImageJ1()
                                           throws ClassNotFoundException
Launches a fully-patched, self-contained ImageJ 1.x.

Throws:
ClassNotFoundException


Copyright © 2011–2014 SciJava. All rights reserved.