###############################################################################
# Copyright (c) 2003, 2005 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
###############################################################################
#
# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo.common/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/Attic/beaninfo.properties,v $
# $Revision: 1.1 $  $Date: 2007/03/14 03:13:03 $
#


#
# Properties for the VCE Beaninfo
#

#
# IvjBeanInfo Strings
#
Cannot_get_the_meth1_EXC_ = IWAV0007E Cannot get the method {0}.
Cannot_create_the_E1_EXC_ = IWAV0008E Cannot create the EventSetDescriptor for {0}.
Cannot_create_Method_EXC_ = IWAV0009E Cannot create the MethodDescriptor for {0}.
Cannot_find_the_acc1_EXC_ = IWAV0010E Cannot find at least the write or read accessor for property {0}.
Cannot_create_Param1_EXC_ = IWAV0146E Cannot create the ParameterDescriptor for {0}.
Cannot_create_the_P1_EXC_ = IWAV0147E Cannot create the PropertyDescriptor for {0}.
{0}_no_read_method_EXC_   = IWAV0148E Class {0} doesn''t have the requested read accessor {1}.
{0}_no_write_method_EXC_  = IWAV0149E Class {0} doesn''t have the requested write accessor {1}.
UNCAUGHT_EXC_             = IWAV0123E --------- UNCAUGHT EXCEPTION ---------
