#
# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

ID_MUST_BE_STRING = \
    Property "{0}" has an XmlID annotation but its type is not String.

MUTUALLY_EXCLUSIVE_ANNOTATIONS = \
    {0} has mutually exclusive annotations @{1} and @{2}

DUPLICATE_ANNOTATIONS = \
    @{0} annotation is found on two places; one would be suffice.

NO_DEFAULT_CONSTRUCTOR = \
    {0} does not have a no-arg default constructor.

CANT_HANDLE_INTERFACE = \
    {0} is an interface, and JAXB can''t handle interfaces.

CANT_HANDLE_INNER_CLASS = \
    {0} is a non-static inner class, and JAXB can''t handle those.

ANNOTATION_ON_WRONG_METHOD = \
    JAXB annotation is placed on a method that is not a JAXB property

GETTER_SETTER_INCOMPATIBLE_TYPE = \
    The type of the getter is {0} but that of the setter is {1}. They have to be the same.

DUPLICATE_ENTRY_IN_PROP_ORDER = \
    Property "{0}" appears more than once in the @XmlType.propOrder

DUPLICATE_PROPERTIES = \
    There are two properties named "{0}"

XML_ELEMENT_MAPPING_ON_NON_IXMLELEMENT_METHOD = \
    The {0} method has @XmlElementMapping on it, but it doesn''t return a sub-type of JAXBElement.

SCOPE_IS_NOT_COMPLEXTYPE = \
    {0} is not bound to a complex type, and therefore illegal as the scope.

CONFLICTING_XML_ELEMENT_MAPPING = \
    The element name '{'{0}'}'{1} has more than one mapping.

REFERENCE_TO_NON_ELEMENT = \
    Property {0} is annotated with @XmlReference but doesn''t refer to an element.

NON_EXISTENT_ELEMENT_MAPPING = \
    No element mapping exists for "{0}":"{1}"

TWO_ATTRIBUTE_WILDCARDS = \
    {0} has two properties with the @XmlAnyAttribute annotation.

SUPER_CLASS_HAS_WILDCARD = \
    Can''t have @XmlAnyAttribute when a base class has it already.

INVALID_ATTRIBUTE_WILDCARD_TYPE = \
    @XmlAnyAttribute is placed on a property whose type is {0} but it needs to be assignable to java.util.Map.

PROPERTY_MISSING_FROM_ORDER = \
    Property {0} is present but not specified in @XmlType.propOrder

PROPERTY_ORDER_CONTAINS_UNUSED_ENTRY = \
    Property {0} appears in @XmlType.propOrder, but no such property exists. Maybe you meant {1}?

INVALID_XML_ENUM_VALUE = \
    "{0}" is not a valid value for {1}.

FAILED_TO_INITIALE_DATATYPE_FACTORY = \
    Failed to initialize JAXP 1.3 DatatypeFactory class.

NO_IMAGE_WRITER = \
    No javax.imageio.ImageWriter is available for the specified MIME type "{0}"

ILLEGAL_MIME_TYPE = \
    "{0}" is not a valid MIME type: {1}

ILLEGAL_ANNOTATION = \
    {0} annotation cannot be placed here

MULTIPLE_VALUE_PROPERTY = \
    @XmlValue is only allowed one per class, but two properties are annotated with @XmlValue.

XMLVALUE_IN_DERIVED_TYPE = \
    @XmlValue is not allowed on a class that derives another class.

ELEMENT_AND_VALUE_PROPERTY = \
    If a class has @XmlElement property, it cannot have @XmlValue property.

CONFLICTING_XML_TYPE_MAPPING = \
    Two classes have the same XML type name "{0}". Use @XmlType.name and @XmlType.namespace to \
    assign different names to them.

SIMPLE_TYPE_IS_REQUIRED = \
    @XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML.

PROPERTY_COLLISION = \
    Class has two properties of the same name "{0}"

INVALID_IDREF = \
    XmlIDREF property is referencing a type "{0}" that doesn''t have an XmlID property.

INVALID_XML_ELEMENT_REF = \
    Invalid @XmlElementRef : Type "{0}" or any of it's subclasses are not known to this context.

NO_XML_ELEMENT_DECL = \
    There''s no ObjectFactory with an @XmlElementDecl for the element '{'{0}'}'{1}.

XML_ELEMENT_WRAPPER_ON_NON_COLLECTION = \
    @XmlElementWrapper is only allowed on a collection property but "{0}" is not a collection property.

ANNOTATION_NOT_ALLOWED = \
    {0} annotation is not allowed on this kind of property.

XMLLIST_NEEDS_SIMPLETYPE = \
    {0} maps to a structured XML fragment (AKA complex type), and therefore incompatible with @XmlList.

XMLLIST_ON_SINGLE_PROPERTY = \
    @XmlList cannot be placed on a single-value property

NO_FACTORY_METHOD = \
    Factory class "{0}" does not have static zero args factory method "{1}".

FACTORY_CLASS_NEEDS_FACTORY_METHOD = \
    XmlType has not defined a factory method for Factory class "{0}".

MISSING_JAXB_PROPERTIES = \
    Package "{0}" is missing jaxb.properties file. Have you copied this from the generated source directory or include it in the classpath?

TRANSIENT_FIELD_NOT_BINDABLE = \
    Transient field "{0}" cannot have any JAXB annotations.

THERE_MUST_BE_VALUE_IN_XMLVALUE = \
    Object must have some value in its @XmlValue field: {0}

INCOMPATIBLE_API_VERSION = \
    JAXB 2.1 API jar is being loaded (from {0}), but this RI (from {1}) requires JAXB 2.2 API jar.

INCOMPATIBLE_API_VERSION_MUSTANG = \
    JAXB 2.1 API is being loaded from the bootstrap classloader, but this RI (from {1}) needs 2.2 API. \
    Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. \
    (See http://java.sun.com/j2se/1.6.0/docs/guide/standards/)

RUNNING_WITH_1_0_RUNTIME = \
    You are trying to run JAXB 2.0 runtime (from {1}) but you have old JAXB 1.0 runtime earlier \
    in the classpath (at {0}) Please remove the JAXB 1.0 runtime for 2.0 runtime to work correctly.

UNMATCHABLE_ADAPTER = \
    Adapter {0} is not applicable to the field type {1}.

ACCESSORFACTORY_INSTANTIATION_EXCEPTION = \
    Unable to create instance of AccessorFactory, {0} for class {1}.

ACCESSORFACTORY_ACCESS_EXCEPTION = \
    Unable to access instance of AccessorFactory, {0} for class {1}.

CUSTOM_ACCESSORFACTORY_PROPERTY_ERROR = \
    Custom AccessorFactory, {0}, is reporting an error accessing a property. {1}

CUSTOM_ACCESSORFACTORY_FIELD_ERROR = \
    Custom AccessorFactory, {0}, is reporting an error accessing a field. {1}

ANONYMOUS_ARRAY_ITEM = \
    {0} is used as an array component type, so it cannot be anonymous.

XMLGREGORIANCALENDAR_INVALID = \
    Invalid set of fields set for XMLGregorianCalendar type {0}.

XMLGREGORIANCALENDAR_SEC = \
    Seconds not set.

XMLGREGORIANCALENDAR_MIN = \
    Minutes not set.

XMLGREGORIANCALENDAR_HR = \
    Hour not set.

XMLGREGORIANCALENDAR_DAY = \
    Day not set.

XMLGREGORIANCALENDAR_MONTH = \
    Month not set.

XMLGREGORIANCALENDAR_YEAR = \
    Year not set.

XMLGREGORIANCALENDAR_TIMEZONE = \
    Timezone not set.
