###############################################################################
# Copyright (c) 2003, 2019 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
# https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
Error_occured_getting_ejb__ERROR_=IWAE0001E Error occurred getting ejb-jar.xml:
Loading_examples_____UI_=Loading examples ...
Traversing_file_system____UI_=Traversing file system...
Importing_files____UI_=Importing files...
Creating_EJB_Project____UI_=Creating EJB Project...
Not_an_ejb_project_UI_=Not an EJB project.
An_ejb_project_must_be_open_and_must_exist_for_properties_to_be_edited_UI_=An EJB project must be open and must exist for properties to be edited.
CANCEL_UI_=CANCEL
NO_UI_=NO
YES_UI_=YES
ALL_UI_=ALL
None_UI_=None
Enter_bean_name_UI_=Enter bean name.
Message_invalid_bean_name_UI_=Invalid bean name.
Bean_name_is_already_used_UI_=Bean name is already used.
Bean_name_UI_=Bean name:
Default_pack_not_be_null_UI_=The default package cannot be empty.
The_project_does_not_conta_UI_=The project does not contain the class path for JDK (rt.jar or JRE library).
Select_a_source_folder__UI_=Select a source folder.
The_selected_source_folder_UI_=The selected source folder is not defined as a classpath source folder.
The_selected_source_folder1_UI_=The selected source folder cannot be the output folder.
Package_root_must_be_direc_UI_=Package root must be directly under Project folder.
Bean_class_UI_=Bean class:
Bean_superclass_UI_=Bean superclass:
Message_Enter_bean_class_name_UI_=Enter bean class name.
Bean_Class_Cannot_Be_In_UI_=Bean class cannot be in a default package.
Class_implements=The class "{0}" must implement the "{1}" interface."
Message_Enter_home_interface_name_UI_=Enter remote home interface name.
Message_Home_Interface_UI_=Remote home interface:
Message_Enter_remote_interface_name_UI_=Enter remote interface name.
Message_Remote_Interface_UI_=Remote interface:
Remote_interface_cannot_be_i_UI_=Remote interface cannot be in a default package.
Home_interface_cannot_be_i_UI_=Remote home interface cannot be in a default package.
Interface_extends="The interface "{0}" must extend the "{1}" interface."
Local_Home_not_in_a_default_pkg_UI_=The local home interface cannot be in a default package.
Enter_local_home_name_UI_=Enter local home interface name.
Enter_local_int_name_UI_=Enter local interface name.
Local_home_interface_UI_=Local home interface:
Local_interface_UI_=Local interface:
Local_not_in_a_default_pkg_UI_=The local interface cannot be in a default package.
Enter_service_endpoint_name_UI_=Enter service endpoint interface name.
Service_endpoint_interface_UI_=Service endpoint interface:
Service_endpoint_not_in_a_default_pkg_UI_=The service endpoint interface cannot be in a default package.
Atleast_one_client=At least one client interface view (local or remote) should be selected.
Atleast_one_client_with_service=At least one client interface view (local, remote or service) should be selected.
Name_collision_pattern=More than one class or interface has the same name "{0}".
Creating_source_folder__1=Creating source folder {0}
Select_valid_EJB_project=Select or create an EJB project.
BEAN_SUPERCLASS_NOT_EXIST=The bean super class must exist.
Super_EJB_has_no_local_interface=Super EJB does not have a Local Interface
Super_EJB_has_no_remote_interface=Super EJB does not have a Remote Interface
Key_class_UI_=Key class:
Entity_enter_primary_key=Enter a key class name.
Entyty_primary_key_not_default=Key class can not be in a default package.
Entity_primary_key_duplicate=Duplicate name {0} between the key class and either the bean class or one of the interfaces.
EJB_CLIENT_JAR_CREATION_ERROR_=IWAE0001E EJB client JAR Project Creation Error
EJB_CLIENT_JAR_CREATION_MESSAGE_=Unable to complete the operation. Please check the log files for more info.
CREATING_CLIENT_JAR_UI_=Creating the EJB client JAR project...
FILES_OUT_OF_SYNC_UI_=The files in project {0} are not synchronized with the file system.  Do you want to refresh the project?
EJB_Client_JAR_name_exists_=EJB client JAR name already exists in referencing EAR
EJB_JAR_already_has_client_Jar_=EJB JAR already has an EJB client JAR
CLIENT_JAR_URI_NOT_RESOLVE_UI_=The specified relative URI will not resolve to a path in the EAR
ClientJAR_8=Removing EJB client JAR...
ClientJAR_9=The file {0} already exists in folder {1}.  Overwrite?
ClientJAR_10=Remove EJB Client JAR Project
ClientJAR_11=Are you sure you want to combine the contents of the EJB client JAR project "{0}" with the EJB JAR project, replace all references, and delete the EJB client JAR project?
ClientJAR_12=No EJB client JAR defined
ClientJAR_13=An EJB client JAR project is not currently defined for the selected EJB project
ClientJAR_14=Remove EJB Client JAR Error
ClientJAR_15=An internal error occurred removing EJB client JAR.  Check the log files for more info.
remove_client_jar_binary=Cannot remove EJB client JAR because the EJB project is binary.
CANNOT_RESOLVE_INTERFACE_UI_=Cannot resolve the selected message listener interface.
_1=The EJB and EJB Client project names can not be the same.
_2=The EAR and EJB Client project names can not be the same.
Neither_Bean_A_nor_Bean_B_have_a_local_client_view_UI_=Neither Bean A nor Bean B have a local client view.
Relationship_name_cannot_be_empty_UI_=Relationship name cannot be empty.
Relationship_name_already_exist_198_UI_=Relationship name already exists.
Role_name_for_Bean_A_cannot_be_empty_UI_=Role name for Bean A cannot be empty.
Role_name_for_Bean_A_must_be_java_valid_field_UI_=Role name for Bean A must be a valid Java field name.
Role_name_for_Bean_B_cannot_be_empty_UI_=Role name for Bean B cannot be empty.
Role_name_for_Bean_B_must_be_java_valid_field_UI_=Role name for Bean B must be a valid Java field name.
Multiplicity_for_Bean_A_cannot_be_empty_UI_=Multiplicity for Bean A cannot be empty.
Multiplicity_for_Bean_B_cannot_be_empty_UI_=Multiplicity for Bean B cannot be empty.
CMR_field_name_for_Bean_A_cannot_be_empty_UI_=CMR field name for Bean A cannot be empty.
CMR_field_name_for_Bean_B_cannot_be_empty_UI_=CMR field name for Bean B cannot be empty.
CMR_field_type_for_Bean_A_cannot_be_empty_UI_=CMR field type for Bean A cannot be empty.
CMR_field_type_for_Bean_B_cannot_be_empty_UI_=CMR field type for Bean B cannot be empty.
Relationship_must_be_navigable_atleast_in_one_direction_UI_=Relationship must be navigable in at least one direction.
Role_name_cannot_be_the_same_UI_=Role name cannot be the same.
Cannot_create_many_to_many_relationship_UI_=Cannot create a many-to-many relationship.
is_not_an_unique_CMR_=is not an unique CMR.
is_not_an_unique_role_name_=is not an unique Role Name.
CMR_fields_must_be_unique_=CMR Fields must be unique.
Bean_A_does_not_match_Bean_B_client_view_=Selected Beans do not have matching interfaces.
Bean_A_CMR_field_name_is_not_valid_java_field_UI_=CMR field name for Bean A must be a valid Java field name.
Bean_B_CMR_field_name_is_not_valid_java_field_UI_=CMR field name for Bean B must be a valid Java field name.
Bean_empty_=Two beans must be selected to create a relationship.
Selected_bean_a_must_be_a_cmp_=Bean A must be a CMP bean.
Selected_bean_b_must_be_a_cmp_=Bean B must be a CMP bean.
Selected_bean_a_must_be_2_x_cmp_=Bean A must be a 2.x CMP.
Selected_bean_b_must_be_2_x_cmp_=Bean B must be a 2.x CMP.
FIELD_CANNOT_BE_EMPTY=Field cannot be empty.
AN_OPERATION_MUST_BE_SELECTED=An operation must be selected.
CLIENT_VIEW_ERR_DELETE_SUPERCLASS=Cannot delete an interface with subtypes UI.
CANNOT_REMOVE_BOTH_LOCAL_AND_REMOTE=Cannot remove both local and remote interface.
SELECT_ONE_OR_MORE_VIEWS=Select one or more views to delete.
ONLY_ONE_VIEW_CREATE=Only one view can be created at a time.
ERR_CMP_FIELD_LIST_EMPTY=CMP field list cannot be empty.
ERR_CMP_FIELD_LIST_KEY_FIELD_EMPTY=CMP Bean should have at least one key field attribute.
ERR_PLEASE_SELECT_A_FOREIGN_KEY = Please select a foreign key.
ERR_FOREIGN_KEY_SELECTED = In a one to one relationship you can only select one foreign key
ServiceEndpoint_interface_cannot_be_UI_=ServiceEndpoint interface cannot be in a default package.
NON_INTERFACE_NAME_CANNOT_BE_NULL_UI_=Non JMS listener type name cannot be null
ONE_END_MUST_BE_NAV=One end must be navigable, please change navigablity.
CANT_BE_BINARY_PROJECT_UI_=Cannot create new enterprise bean in a binary project.
EJB_EXPORT_PROJECT_CONTAINS_CLEINT_WARNING=The selected EJB project has an EJB client project.  Exporting via the EAR Export Wizard is suggested.
remove_client_jar_client_binary=
EJB_Client_JAR_Creation_Error_=EJB client JAR Creation Error
Cannot_Be_Binary_Project_For_Client_=Cannot create a new EJB client JAR for a binary project.
Cannot_Be_StandAlone_Project_For_Client_=Cannot create a new EJB client JAR for a stand-alone project.
TRANSACTION_TYPE_CONTAINER=Container
TRANSACTION_TYPE_BEAN=Bean
STATE_TYPE_STATELESS=Stateless
STATE_TYPE_STATEFUL=Stateful
STATE_TYPE_SINGLETON=Singleton
DESTINATION_TYPE_QUEUE=Queue
DESTINATION_TYPE_TOPIC=Topic

ERR_NO_MESSAGE_LISTENER_INTERFACE=You must specify a message listener interface. 
ERR_COULD_NOT_RESOLVE_INTERFACE=Could not resolve interface. {0}
ERR_LOCAL_HOME_MISSING_CREATE_METHOD=The specified Local Home interface has not valid create() method.
ERR_REMOTE_HOME_MISSING_CREATE_METHOD=The specified Remote Home interface has not valid create() method.
ERR_LOCAL_HOME_CREATE_METHOD_RETURN_TYPE_INVALID=The create() method of the specified Local Home interface must return the Local Component interface.
ERR_REMOTE_HOME_CREATE_METHOD_RETURN_TYPE_INVALID=The create() method of the specified Remote Home interface must return the Remote Component interface.
ERR_LOCAL_COMPONENT_NOT_INTERFACE=The specified Local Component interface is not valid.
ERR_LOCAL_HOME_NOT_INTERFACE=The specified Local Home interface is not valid.
ERR_REMOTE_COMPONENT_NOT_INTERFACE=The specified Remote Component interface is not valid.
ERR_REMOTE_HOME_NOT_INTERFACE=The specified Remote Home interface is not valid.
ERR_BEAN_ALREADY_EXISTS=Enterprise bean with the same Ejb Name already exists.
WRN_BEAN_NAME_IS_EMPTY=Bean name is empty, the containter will use the name of the bean class.
WRN_NO_CLIENT_VIEW=No client view configured. Clients will not be able to access this bean.
ERR_SINGLETON_NOT_ALLOWED=The 'Singleton' state type is allowed only for EJB projects with version 3.1 or later.
ERR_NO_INTERFACE_NOT_ALLOWED=The no-interface client view is allowed only for EJB projects with version 3.1 or later.
WRN_EJB31_ASYNC_NOT_SUPPORTED=Asynchronous methods are not supported in EJB 3.1 Lite.

timerScheduleDefault= second="*/10", minute="*", hour="8-23", dayOfWeek="Mon-Fri",\n      dayOfMonth="*", month="*", year="*", info="MyTimer"
errorTimerScheduleMissing=The schedule cannot be empty.
WRN_EJB31_NON_PERSISTENT_NO_SUPPORTED=Non-persistent Timers are not supported in EJB 3.1 Lite.
