# Basic

The Basic tab of the editor presents the properties that make up the definition of the device. Each of these properties works together to provide the environment necessary for MTJ and care must be taken when making changes.

The editable items on this page are:

Item | Contents
--- | ---
Description | The description of this device definition. The description may be any text that is useful for understanding the device and may also be left empty.
Executable | The executable that will be used to launch the device emulator. The executable may be specified as any valid executable on the local computer. The executable will be launched with the parameters as specified in the launch command template.

Preverifier

The executable that will be used to preverify classes as required.
This executable will be used in order to preverify classes as required by the Java Micro Edition specification. The executable must be a valid executable on the local computer. In general, the preverifier executables provided with the different toolkits work the same and are interchangeable, but this is not guaranteed.

Debug Server | This setting defines whether the emulator works as a JPDA debug server or client. Most toolkit emulators act prefer to act as a debug server. This setting may need to be adjusted if the emulator executable is altered.
Deploy Before Run | This setting defines whether the emulator requires a deployed jar file before execution. Many toolkits are capable of running class files from the file system, while others require a deployed jar. This setting may need to be adjusted if the emulator executable is altered.

Launch Command Template

The launch command template provides the definition of the command that will be used to launch a MIDlet into the execution environment. The template provides substitution values and slots that are calculated by the launch environment and placed into the template. This template is tied directly to the executable used for launching as well as the substitution values provided by the underlying launch engine. See Launch Command Template Syntax for more information.

## Launch Command Template Syntax

The launch command template consists of three primary parts:

- Static Text

  Static text is simply text in the command that will be passed through as-is. Static text is used for specifying command-line parameters that do not change.

- Substitution Slots

  Substitution slots provide a location in the command to place values that are dynamically calculated at the time the MIDlet is launched. Substitution slots are delimited within a pair of percent signs, for example %variableName%. The underlying launch support will provide the value for variableName which will be substituted into the slot.

- Conditional Blocks

  Conditional blocks allow for portions of the command template to be removed if they do not apply. This is useful, for instance, in specifying the parameters necessary when launching under the debugger. Those parameters should only be included in the launch command when debugging the MIDlet and otherwise should not be included.

  Conditional blocks take the form
  [%variable%|expression]
  where variable specifies the variable name to be tested and expression contains the text and variables to be included or excluded based on the variable. Variable values that are not null and have a non-zero length are considered "true" and will cause the expression to be included. Conditional expressions may not be nested.