Extracting Classes as a Non-GUI Client Application

You can use the JadeBatchExtract application in the jadclient non‑GUI client application to automate the extraction of a class in the current schema context (by specifying the Class argument) or the latest schema context (by specifying the CL argument) of the specified schema and type after the startAppParameters parameter to specify your class extract requirements.

The case‑insensitive options that you can specify between < and > characters when extracting a class are listed in the following table.

Option Description
<compactddx>

Extracts DDX (XML) format files in compact format, which excludes properties with null values for applications, forms, standard controls, and RPS mappings.

Compact DDX files reduce the size of the extracted file and improve loading performance. It has no effect when extracting in DDB (legacy) format.

<ddbformat>

Force the forms and mapping files to be in the DDB (legacy) format.

<ddxformat>

Force the forms and mapping files to be in the default DDX format.

<nativeencoding>

Encode the extract files as ANSI for a native ANSI system or UTF‑16LE (LittleEndian architecture) for a native Unicode system. This option is the opposite of specifying the utf8encoding option.

Unicode DDB and DDX files are still extracted as UTF‑8 due to portability and parsing considerations.

<nomodifiedinfo>

A specialist option to strip setModifiedTimeStamp lines from extracted source files. This can reduce the noise when storing source in Git or another Version Control System (VCS).

This has the drawback that this information is not preserved or available in the extract files, which will cause features dependent on the modified timestamp and user information to be inaccurate.

<nomodelnumbers>

A specialist option to strip schema model number information (for example, number=1, ordinal = 1) from extracted source files. This can reduce the noise when storing source in Git or another Version Control System (VCS).

This has the drawback that this information is not preserved or available in the extract files. While this is often not an issue for development purposes, it can cause issues when deploying to an existing production system if the model numbers are not reinstated.

<utf8encoding>

Encode the extract files as UTF‑8 with a Byte Order Mark (BOM). This encoding is particularly useful for Unicode systems, as the extracted files can be stored in Git as a text file rather than the native UTF‑16LE (LittleEndian architecture) encoding that Git would interpret as a Binary file. It also means that the same information extracted from both ANSI and Unicode systems produces identical extract files.

When extracting a class, you can specify multiple case‑insensitive options between the < and > characters, with each one separated with a comma; for example, <encrypt,ddxFormat,utf8encoding>.

For details about specifying extract arguments, see "Extracting Schemas as a Non-GUI Client Application", earlier in this chapter.

The following example shows the use of the jadclient program to extract a class.

jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract startAppParameters CL "c:\temp\WidgetForm.cls" "c:\temp\WidgetForm.ddx" Sales Widget "<ddxFormat,compactddx,utf8Encoding>"