###############################################################################
# Copyright (c) 2003, 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 v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
ERR_SECURITY_ROLE_EMPTY=The role name cannot be empty.
ERR_SECURITY_ROLE_EXIST=The security role named "{0}" already exists.
ERR_JAVA_CLASS_NAME_EMPTY=The class name cannot be empty.
ERR_JAVA_CLASS_NAME_EXIST=The class already exists in the package.
ERR_JAVA_CLASS_FILE_NAME_EXIST=File with same name but different case exists.
ERR_JAVA_CLASS_FOLDER_NAME_EMPTY=The source folder cannot be empty.
ERR_JAVA_CLASS_FOLDER_PROJECT_NOT_OPEN=The project is not open.
ERR_JAVA_CLASS_NOT_JAVA_PROJECT=Not a Java project.
ERR_JAVA_CLASS_FOLDER_STATIC_PROJECT=Cannot be a static web project.
ERR_JAVA_CLASS_FOLDER_NOT_SOURCE=Not a Java source folder.
ERR_JAVA_CLASS_NAME_QUALIFIED=Do not use qualified class name.
ERR_JAVA_CLASS_NAME_INVALID=Invalid Java class name: 
ERR_JAVA_CLASS_NAME_WARNING=Warning: 
ERR_JAVA_CLASS_SUPERCLASS_NOT_EXIST=The super class does not exist.
ERR_JAVA_CLASS_SUPERCLASS_FINAL=The super class cannot be a final class.
ERR_TYPE_DIFFERENT_CASE_EXIST=Type ''{0}'' already exists with same name but different case.
ERR_TYPE_ALREADY_EXIST=Type ''{0}'' already exists.
ERR_JAVA_PACAKGE_NAME_INVALID=Invalid Java package name: 
ERR_JAVA_PACKAGE_NAME_WARNING=Warning: 
ERR_BOTH_FINAL_AND_ABSTRACT=Class cannot be both final and abstract.
WebServiceClientGenerator_UI_0=Generic Java EE Container
ERR_SECURITY_ROLE_LIST_EMPTY=The list of security roles to be removed cannot be empty.

ERR_JAVA_CLASS_FOLDER_NOT_EXIST=The source folder does not exist.

ERR_EMPTY_MODULE_NAME=Module name cannot be empty.
ERR_EMPTY_PROJECT_NAME=Project cannot be empty.
ERR_PROJECT_INACCESSIBLE=Project "{0}" is missing or inaccessible.
ERR_PROJECT_NAME_EXISTS=Project name already exists.
ERR_VERSION_NOT_SUPPORTED=This version is not supported by the server.
ERR_NOT_SUPPORTED=Not supported by the server.
ERR_JAVA_CLASS_FOLDER_NOT_ABSOLUTE=Source folder path must be a workspace relative absolute path.
ERR_NO_MODEL_PROVIDER_FOR_PROJECT=No IModelProvider exists for project {0} of version: {1}
ERR_NO_MODEL_PROVIDER_FOR_VIRTUAL_COMPONENT=No IModelProvider exists for virtual component {0} of version: {1}

J2EE_MODULE_CLASSPATH_CONTAINER_NAME=EAR Libraries

CLASSPATH_ENTRY_DEPENDENCY_PREFIX=(Classpath)
