+Lets you specify/view environment variables. Environment variables can be used
+in headers, footers and Javadoc templates to form variable expressions that will
+be resolved during printing. I call this process variable interpolation.
+
+Environment variables are simple key/value pairs. Valid keys take the form
+([a-zA-Z_][a-zA-Z0-9_.])+ and are case-sensitive. Values can be
+freely choosen.
+
Example 4.142. Sample environment variables
-
+author = <a href="http://jalopy.sf.net/contact.html">Marco Hunsicker</a>
+
-
+project = Jalopy Java Source Code Formatter
+
4.3.8.1. User environment variables
+Lets you specify you're user specific environment variables. Use the
+Add... and Remove buttons to
+add or remove items to and from the list.
+
4.3.8.2. System environment variables
+All system environment variables are automatically available as well but
+cannot be changed from within Jalopy.
+
4.3.8.3. Local environment variables
Additionaly, Jalopy provides some local variables that are automatically set
+depending on the execution context.
+The current list of valid local variables reads as follows:
+
Table 4.1. Local environment variables
file | The absolute path of the currently processed Java file (e.g. /usr/projects/test/MyFile.java) |
fileName | The name of the currently processed Java file (e.g. MyFile.java) |
fileFormat | A string represention of the file format that will be used to write a file (e.g. UNIX or DOS) |
package | The package name of the currently processed Java file (e.g. com.foo.mypackage) |
convention | The name of the currently active code convention (as specified in the settings) |
tabSize | The current indentation setting (as specified in the settings) |
objectType | Only applies to Javadoc templates: Holds the type name of the class for a constructor. |
paramType | Only applies to Javadoc templates: Holds the type name of a parameter. |
exceptionType | Only applies to Javadoc templates: Holds the type name of a throws clause. |
+Once defined, variables can then be enclosed with the dollar sign to form variable expressions.
+Variable expressions thus take the form $([a-zA-Z_][a-zA-Z0-9_.]+)$.
+
+During printing these expressions will be interpolated and
+the value of the variable inserted into the output file.
+
Example 4.143. Header template with environment variable expressions
+//==============================================================================
+// file : $fileName$
+// project: $project$
+//
+// last change: date: $Date$
+// by: $Author$
+// revision: $Revision$
+//------------------------------------------------------------------------------
+// copyright: BSJT Software License (see class documentation)
+//==============================================================================
+ |
Example 4.144. Header after interpolation
+//==============================================================================
+// file : Byte.java
+// project: bsjt-rt
+//
+// last change: date: $Date$
+// by: $Author$
+// revision: $Revision$
+//------------------------------------------------------------------------------
+// copyright: BSJT Software License (see class documentation)
+//==============================================================================
+ |
+As you see with the above example, if a variable is not defined, Jalopy won't
+touch the expression and simply preserve the original content. This way Jalopy
+works nicely with other source code tools and SCM products.
+