#
Driver Definition

###### Identifier:

org.eclipse.datatools.connectivity.driverExtension

###### Since:

DTP 0.x

###### Description:

The driverExtension is used by developers to define templates that describe the mechanical components necessary for opening connections to servers. Users create specific driver definitions using these templates.

The driver definitions are intended to be used in conjunction with connection profiles, where the driver definition specifies the mechanics (e.g. JAR files, driver class names, etc.) necessary for opening the connection and where the connection profile specifies the particulars for connecting to a specific server (e.g. host, port, user ID, password, etc.).

###### Configuration Markup:

<!ELEMENT extension (category* , driverTemplate)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT category EMPTY>

<!ATTLIST category

id CDATA #REQUIRED

name CDATA #IMPLIED

description CDATA #IMPLIED

parentCategory CDATA #IMPLIED>

This element is used to identify a category. Categories are used to group related connection profile types (e.g. databases).

- id - The id of this category. This value is referenced by `driverTemplate` elements.
- name - The display name for this category.
- description - The description of this category. This value will be used in the UI to describe a particular category.
- parentCategory - The id of a parent category, if this category has a parent.

<!ELEMENT driverTemplate (properties?)>

<!ATTLIST driverTemplate

id CDATA #REQUIRED

name CDATA #IMPLIED

description CDATA #IMPLIED

parentCategory CDATA #IMPLIED

jarList CDATA #IMPLIED

createDefault (true | false) "true"

emptyJarListIsOK (true | false) "false">

This element is used to identify a template.

- id - The id of this driver type.
- name - The display name for this driver type.
- description - The description of this driver type. This value will be used in the UI to describe a particular type.
- parentCategory - The id of the category to which this template belongs.
- jarList - The list of JAR files used to create the classpath used when connecting using this driver.
- createDefault - Specifies whether or not this template should be used to create a default driver definition instance. If set to true, a driver definition instance with the name specified in the template is guaranteed to exist in the list of driver definitions. Default is true.
- emptyJarListIsOK - Specifies whether or not it is valid for the jarList property to be empty. Default is false.

<!ELEMENT properties (property+)>

Parent container for specific driver definition properties.

<!ELEMENT property EMPTY>

<!ATTLIST property

id CDATA #REQUIRED

name CDATA #REQUIRED

description CDATA #IMPLIED

value CDATA #IMPLIED

visible (true | false) "true"

example CDATA #IMPLIED

required (true | false) "true"

generated (true | false) "false"

customPropertyDescriptor CDATA #IMPLIED

category CDATA #IMPLIED>

A property definition for a driver definition.

- id - The id of this property. Used to identify this property in the driver definition.
- name - The display name for this property.
- description - The description of this property. This value will be used in the UI to describe a particular type.
- value - The default value for this property.
- visible - Specifies whether or not this property is visible and editable to the user. Default is true.
- example - Specifies an example value for this property.
- required - Specifies whether or not this is a required property. Default is true.
- generated - currently unused and undefined.
- customPropertyDescriptor - Provides a way to specify a custom property descriptor that extends the class org.eclipse.ui.views.properties.PropertyDescriptor. An example of this is the class org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor, which provides a property editor that masks the characters for a password property. Anything you can implement as a property descriptor for the Properties Viewer, you can use here. Or if you want to make the property values read-only, you can use org.eclipse.ui.views.properties.PropertyDescriptor directly.
- category - The category tag is used to provide an optional category for your template properties. The default is "General" if no category is specified for the property. You can use this to group properties in arbitrary categories.

###### Examples:

<properties> </properties>

###### API Information:

[Enter API information here.]

###### Supplied Implementation:

[Enter information about supplied implementation of this extension point.]

Copyright (c) 2004-2005 Sybase, Inc.

All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

Contributors: brianf - initial API and implementation