Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

radadrgen(1)

Name

radadrgen - code generator

Synopsis

radadrgen [-h] [-d DIRECTORY] [-k] -l {c,java,python,python27,python35} -s
                   {client,server} [-v]
                   adr

Description

The radadrgen command is the ADR IDL processing tool. It may be used to generate language bindings for RAD client or server implementations.

All invocations validate the given document against the ADR schema.

Options

The following options are supported:

–h, –-help

Shows the help message and exits.

–d DIRECTORY, –-directory DIRECTORY

Specifies an output directory. If none is specified, the current directory is used.

–k, –-keep

Does not overwrite the existing output. If this flag is not specified, radadrgen will over-write the existing output files.

–l {c,java,python27,python35}, –-language {c,java,python27,python35}

Specifies the language for which bindings should be generated. The list of supported languages (for both client and server side) is present in the help message.


Note -  Not all language/side options are supported. Attempting to invoke an unsupported combination will result in an error message.
–s {client,server}, –-side {client,server}

Specifies whether bindings should be generated for server-side (skeleton) implementation or client-side (stub).


Note -  Not all language/side options are supported. Attempting to invoke an unsupported combination will result in an error message.
–v, –-verbose

Reports written filenames.

–J {legacy,camel}, –-java-method-names {legacy,camel}

A private option to switch between a legacy Java method naming scheme where interface property and struct field accessors are named e.g. (get|set)Propertywithlongname() and a camel case one where the same method would be (get|set)PropertyWithLongName().

When omitted, legacy is the default.

Operands

The following operand must be specified on the command line:

adr

The path to the API specification for which type and interface definitions must be generated.

Examples

Example 1 Generating C Server Bindings

The following command generates server-side implementation for an adr file, myapi.adr, into the directory server/c:

$ radadrgen -s server -l c -d server/c myapi.adr

On success, the output directory contains the myapi_impl.c file, a header file, and a mapfile.

Example 2 Generating Python Client Bindings

The following command generates Python client-side bindings for an adr file, myapi.adr, into the directory client/python:

$ radadrgen -s client -l python27 -d client/python myapi.adr

On success, the output directory structure includes the Python client module myapi.py under com/oracle/solaris/rad/.

Example 3 Generating Java Client Bindings

The following command generates Java client-side bindings for an adr file, myapi.adr, into the directory client/java:

$ radadrgen -s client -l java -d client/java myapi.adr

On success, the output directory structure includes a set of .java files for the interfaces defined in the API under com/oracle/solaris/rad/myapi.

Files

/usr/share/lib/xml/rng/radadr.rng.1

The core ADR RelaxNG schema definition.

/usr/share/lib/xml/rng/radadr-doc.rng.1

The ADR RelaxNG schema definition for documentation elements.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/management/rad/radadrgen
Interface Stability
Private

See Also

attributes(7), rad(8)