# Libraries

The Libraries tab of the edit dialog allows the selection and configuration of the libraries that make up the device definition. Using the controls on this page, it is possible to add and remove functionality from a device definition. This is useful in restricting available API's to create a more generic project.

Each cell in the table is editable in-place. The type of editor supplied is dependent on the cell that is selected.

Column | Contents
--- | ---
File | This field holds the file name that provides functionality to the device definition. The File and Path columns work together to show the qualified location of the library's file. Editing the file will launch a file chooser dialog for selection of the library's file.
Path | This field holds the path of the library's file. The File and Path columns work together to show the qualified location of the library's file. Editing the path will launch a file chooser dialog for selection of the library's file.
APIs | This field displays a list of API's that were determined based on the contents of the library's file. This list may need to be edited if the list is incorrect or incomplete. Selecting the edit controls for this table cell will launch the API edit dialog. See Editing Library API's for more details.
Javadoc | This field lists the Javadoc that is attached to this particular library. Editing the cell will launch the standard Javadoc attachment dialog.
Source | This field lists the source that is attached to this particular library. Editing the cell will launch the standard Java source attachment dialog.

## Editing Library API's

The Edit Library API's dialog allows the specific API's associated with a library to be altered. Altering the API's should not be necessary, except in rare cases. It is important that each device have a MicroEdition Configuration and MicroEdition Profile. If for some reason that is not the case, it may be necessary to alter the API's listed via this editor dialog.

The cells in this table are all editable and may be changed using a combination of in-place text editing and drop-down selection.

Column | Contents
--- | ---
Identifier | This field holds the unique identifier of this API. Many of the identifiers have been standardized by the Java Community Process, but this identifier may be any unique non-empty value.
Version | The version column holds the version of this particular API. The version may be specified using numeric values of the form major.minor.patch.

Type

The type column holds the type of this particular API. The valid values for this drop-down cell are:

- Profile
- Configuration
- Optional
- Unknown

In general, the type should be specified as something other than Unknown. It is important that every device definition have a single configuration and profile.

Name | The name field holds the free-form text that describes this API. This may be specified as any non-empty text.