################################################################################
# Copyright (c) 2010, 2013 Oracle. 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:
#     Oracle - initial API and implementation
################################################################################

# JptJaxbEclipseLinkCoreMessages

EL_JAXB_USER_LIBRARY_VALIDATOR__NO_XJC_CLASSES=Class generation may not be available if com.sun.tools.xjc and com.sun.xml.bind jars are not on project classpath.

# OXM file creation validation messages
VALIDATE__NEW_OXM_FILE__PROJECT_NOT_JAXB = Project does not have the JAXB facet
VALIDATE__NEW_OXM_FILE__PROJECT_NOT_ECLIPSELINK = Project is not an EclipseLink JAXB project
VALIDATE__NEW_OXM_FILE__CONTAINER_QUESTIONABLE = File folder may not be acceptable for this project
VALIDATE__NEW_OXM_FILE__PACKAGE_UNSPECIFIED = No package name specified 
VALIDATE__NEW_OXM_FILE__PACKAGE_DOESNT_EXIST = Package does not exist in this project