Generating Java Object API Code Using Sybase Unwired WorkSpace

Use Sybase Unwired WorkSpace to generate object API code containing mobile business object (MBO) references.

Prerequisites

Develop the MBOs that will be referenced in the device applications you are developing. A mobile application project must contain at least one non-online MBO. You must have an active connection to the datasources to which the MBOs are bound.

Task
Unwired Platform provides the Code Generation wizard for generating object API code. Code generation creates the business logic, attributes, and operations for your mobile business object.
  1. Launch the Code Generation wizard.
    From Action
    Mobile Application Diagram Right-click within the Mobile Application Diagram and select Generate Code.
    WorkSpace Navigator Right-click the Mobile Application project folder that contains the mobile objects for which you are generating API code, and select Generate Code.
  2. (Optional; this page of the code generation wizard is seen only if you are using the Advanced developer profile) Enter the information for these options, then click Next:
    Option Description
    Code generation configuration A table lists all existing named configurations plus the most recently used configuration. You can select any of these, click Next, and proceed. Additionally, you can:
    • Create new configuration โ€“ click Add and enter the Name and optional Description of the new configuration and click OK to save the configuration for future sessions. You can also select Copy from to copy an existing configuration which can then be modified.
    • Most recent configuration โ€“ if you click Next the first time you generate code without creating a configuration, the configuration is saved and displays as the chosen configuration the next time you invoke the code generation wizard. If the most recent configuration used is a named configuration, it is saved as the first item in the configuration table, and also "Most recent configuration", even though it is still listed as the original named configuration.
  3. Click Next.
  4. In Select Mobile Objects, select all the MBOs in the mobile application project or select MBOs under a specific synchronization group, whose references, metadata, and dependencies (referenced MBOs) are included in the generated device code.
    Dependent MBOs are automatically added (or removed) from the Dependencies section depending on your selections.
    Unwired WorkSpace automatically computes the default page size after you choose the MBOs based on total attribute size. If an MBO's accumulated attribute size is larger than the page size setting, a warning displays.
  5. Enter the information for these configuration options:
    Option Description
    Language Select Java.
    Platform Select the platform ( target device) for which the device client code is intended.
    • Java
      • Android
    Unwired Server Specify a default Unwired Server connection profile to which the generated code connects at runtime.
    Server domain

    Choose the domain to which the generated code will connect. If you specified an Unwired Server to which you previously connected successfully, the first domain in the list is chosen by default. You can enter a different domain manually.

    Note: This field is only enabled when an Unwired Server is selected.
    Page size

    (Optional) Select the page size for the generated client code. If the page size is not set, the default page size is 4KB at runtime. The default is a proposed page size based on the selected MBO's attributes. .

    The page size should be larger than the sum of all attribute lengths for any MBO that is included with all the MBOs selected, and must be valid for the database. If the page size is changed, but does not meet these guidelines, object queries that use string or binary attributes with a WHERE clause may fail.

    A binary length greater than 32767 is converted to a binary large object (BLOB), and is not included in the sum; a string greater than 8191 is converted to a character large object (CLOB), and is also not included). If an MBO attribute's length sum is greater than the page size, some attributes automatically convert to BLOB or CLOB, and therefore cannot be put into a WHERE clause.

    Note: This field is only enabled when an Unwired Server is selected.
    Package, Namespace, or Name Prefix
    • Package โ€“ enter a package name for Java. The package name must follow Java naming conventions for packages. For example, no leading or trailing spaces and no special characters such as ยง&/, except that the first letter may be upper-case.
    Destination Specify the destination of the generated device client files. Enter (or Browse) to either a Project path (Mobile Application project) location or File system path location. Select Clean up destination before code generation to clean up the destination folder before generating the device client files.
    Note: If you select Java as the language, enter a project path, specify a mobile application project folder, and select Generated Code as the destination. JAR files are automatically added to the destination for the platform that supports compiling of the generated client code.
    Third-party jar file

    Enter or browse to the location of the third party jar file. For example, net_rim_api.jar for BlackBerry, or android.jar for Android.

    If you select Java as the language, and if the BlackBerry or Android third-party JAR file has not been added, the warning The dependent third-party class 'net.rim.device.api.system.ApplicationDescriptor' cannot be found or The dependent third-party class 'android.content.Context' cannot be found displays.

  6. The check box for "Generate metadata classes" is automatically selected as read only for Android, and the "Including object manager classes" checkbox is de-selected.
  7. Select Including object manager classes to generate both the metadata for the attributes and operations of each generated client object and an object manager for the generated metadata.
    The Including object manager classes option is enabled only for BlackBerry and C# if you select Generate metadata classes. The object manager allows you to retrieve the metadata of packages, MBOs, attributes, operations, and parameters during runtime using the name instead of the object instance.
    Note: When generating code for Android, "Generate metadata classes" is automatically selected and cannot be unselected. The "Including object manager classes" option is unavailable and unsupported.
  8. Click Finish.
  9. Examine the generated code location and contents.
  10. Validate the generated code.