Open Services Gateway initiative


OSGi Authors: XebiaLabs Blog, RealWire News Distribution, Si Chen, Tad Anderson, Elizabeth White

Related Topics: OSGi

OSGi: Article

The Great J2ME API Rundown

The Great J2ME API Rundown

Some of the more commonly asked questions on the various forums for J2ME seem to be "What is J2ME?" and "Is <so-and-so-product> a part of J2ME?" Here is where you will find all the APIs that fall beneath J2ME's umbrella, and the packages you will find within those APIs.

Connected, Limited Device Configuration (CLDC) - Version 1.0
CLDC contains the following packages: - input and output through data streams
java.lang - fundamental classes
java.util - collections, data and time facilities, other utilities - generic connections classes

You can find more information on CLDC at

Mobile Media (CLDC Optional Package) - Version 1.0
Mobile Media contains the following packages: - interfaces and Manager class for obtaining resources - specific control types to use with players - protocol handling types

More information can be found at

Wireless Messaging API (CLDC Optional Package) - modified for messaging use
javax.wireless.messaging - send and receive support, message types

You can find more details here:

Bluetooth API (CLDC Optional Package) - Version 1.0
The BTAPI contains the following:

javax.bluetooth - discovery, connection, remote and local devices, etc.
javax.obex - authentication, obex support, etc

More information can be found at the Motorola site: taxonomy.jsp?nodeId=03M0ym4sDZxM0zZ6m1Y6

Connected Device Configuration (CDC) - Version 1.0
CDC contains the following packages: - input and output
java.lang - fundamental classes
java.lang.ref - reference object classes
java.lang.reflect - reflective information about classes
java.math - BigInteger support - networking support - security framework - parsing and management of certificates
java.text - used for handling text, dates, numbers, and messages
java.text.resources - contains a base class for locale elements
java.util - collections, date/time, miscellaneous functions
java.util.jar - reading JAR files - reading Zip files - connections classes

Look for more CDC information at

J2ME RMI (Optional Package) - Version 1.0
RMIOP contains the following:

java.rmi - RMI root package (remote interface, naming, etc.)
java.rmi.activation - support for RMI activation
java.rmi.dgc - distributed garbage collection
java.rmi.registry - a class to locate the registry and an interface to refer to it
java.rmi.server - support for the unicast server

Find more information here:

Mobile Information Device Profile - Version 1.0
MIDP builds on CLDC and contains the following packages:
java.lang - CLDC, plus an additional exception
java.util - CLDC, plus timer facilities - networking support based upon the CLDC framework
javax.microedition.lcdui - for user interfaces for MIDP applications
javax.microedition.rms - persistent data storage
javax.microedition.midlet - defines applications and interactions between app and environment

The products page for MIDP is at

Mobile Information Device Profile - Version 2.0
MIDP2, the next generation of the MID profile, contains the following packages:

java.lang - see MIDP1.0
java.util - some changes from MIDP1.0 - some changes from MIDP1.0
javax.microedition.lcdui - some changes from MIDP1.0 - support for gaming content - a building block for the Mobile Media API - control types that can be used with a player
javax.microedition.midlet - see MIDP1.0
javax.microedition.pki - support for secure connections (X.509)
javax.microedition.rms - some changes from MIDP1.0 (record sharing)

Foundation Profile - Version 1.0
The Foundation Profile builds on CDC and contains the following packages: - see CDC
java.lang - see CDC
java.lang.ref - see CDC
java.lang.reflect - see CDC
java.math - see CDC - see CDC - see CDC - see CDC - access control lists - interfaces for generating keys - key specifications and algorithm parameter specifications
java.text - see CDC
java.text.resources - see CDC
java.util - see CDC
java.util.jar - see CDC - see CDC - see CDC

The profile products page is at

PersonalJava Specification - Version 1.2a
PersonalJava will eventually be superseded by the Personal Profile on devices, but for now the specification contains the following packages:

java.applet - full support from JDK1.1.8
java.awt - modified from JDK1.1.8
*Note: There is an extra method for PJ for double-buffering in java.awt.Component
java.awt.datatransfer - full support
java.awt.event - full support
java.awt.image - full support
java.awt.peer - modified
java.beans - full support - modified
java.lang - modified
java.lang.reflect - modified
java.math optional - may or may not be supported - modified
java.rmi - optional
java.rmi.dgc - optional
java.rmi.registry - optional
java.rmi.server - optional - modified - unsupported - some classes required, some optional - required if code signing is included - required if code signing is included
java.sql - optional
java.text - full support
java.text.resources - modified
java.util - modified
java.util.jar - required if code signing is included - modified

Additional PersonalJava specific packages are:
com.sun.awt - for mouseless environments
com.sun.lang - a couple of error and exception classes
com.sun.util - for handling timer events

For more information on the PersonalJava Application Environment see

Personal Profile - Version 1.0
The Personal Profile contains:

java.applet - applet and applet context
java.awt.color - color spaces
java.awt.event - event handling for the AWT
java.awt.datatransfer - used to transfer data between applications
java.awt.image - classes to create and modify images
java.beans - JavaBeans support
java.util.jar - the generic collections classes
javax.microedition.xlet - interfaces used for app/app manager communications
javax.microedition.xlet.ixc - inter xlet communications

See the following page for more info:

Personal Basis Profile - Version 1.0
Has a similar package list to the Personal Profile, however, there are no java.applet or java.awt.datatransfer packages.

The Personal Basic Profile page is at

Java TV - Version 1.0
Java TV contains the following packages (in addition to PersonalJava): - access to broadcast file and directory data - root container access and alpha blending - referencing data and resources - controls and events for management of real-time media - access to generic streaming data in a broadcast - IP datagram access - service information access - supporting electronic program guides - services and hierarchical service information navigation - select a service for presentation - information about transport mechanisms - creating and managing timer events - communications interfaces used by apps and the app manager

Get off that couch and check out the JavaTV page at

Java Embedded Server - Version 2.0
JES contains the following packages:

com.sun.jes.service.http - servlet/resource registrations
com.sun.jes.http - basic authentication
service.http.auth.basic - management of users and their access
com.sun.jes.service.timer - for handling timer events
org.osgi.framework - consistent model for app. dev., supports dev. and use of services
org.osgi.service.device - detection of devices
org.osgi.service.http - http access of resources
org.osgi.service.log - logging facility

You can find more information on the Java Embedded Server at

Java Card - Version 2.2
Java Card contains the following packages: - a subset of the standard package
java.lang - fundamental classes
javacard.framework - classes for the construction, comms, etc., for JavaCard applets
javacard.framework.service - aggregating service components - security framework
javacardx.crypto - extension package with security classes and interfaces

Next time you use that American Express Blue card, you may want to know how it works, so take a look at

More Stories By Java News Desk

JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.