###############################################################################
# Copyright (c) 2006, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
pluginName=Eclipse Data Tools Platform Informix Plug-in
providerName=Eclipse Data Tools Platform

driverClass = Driver Class
driverVendor = Vendor
driverVersion = Version
driverDBName = Database Name
driverConnectionURL = Connection URL
driverUID = User ID
driverPWD = Password

INFORMIX_CATEGORY_NAME = Informix
10_0_VERSION_CATEGORY_NAME = 10.0
9_4_VERSION_CATEGORY_NAME = 9.4
9_3_VERSION_CATEGORY_NAME = 9.3
9_2_VERSION_CATEGORY_NAME = 9.2

org.eclipse.datatools.enablement.ibm.informix.10_0.driverTemplate = Informix JDBC Driver
org.eclipse.datatools.enablement.ibm.informix.10_0.other.driverTemplate = Other Driver
org.eclipse.datatools.enablement.ibm.informix.9_4.driverTemplate = Informix JDBC Driver
org.eclipse.datatools.enablement.ibm.informix.9_4.other.driverTemplate = Other Driver
org.eclipse.datatools.enablement.ibm.informix.9_3.driverTemplate = Informix JDBC Driver
org.eclipse.datatools.enablement.ibm.informix.9_3.other.driverTemplate = Other Driver
org.eclipse.datatools.enablement.ibm.informix.9_2.driverTemplate = Informix JDBC Driver
org.eclipse.datatools.enablement.ibm.informix.9_2.other.driverTemplate = Other Driver

jdbc.connection.name = JDBC Connection
profile.informix.title = Informix
