#
# Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the
# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
# version 2 with the GNU Classpath Exception, which is available at
# https://www.gnu.org/software/classpath/license.html.
#
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#

ambiguous.fatal.rms=A resource model has ambiguous (sub-)resource method for HTTP method {0} and input mime-types as defined by\
   "@Consumes" and "@Produces" annotations at Java methods {1} and {2} at matching regular expression {3}. These two methods \
  produces and consumes exactly the same mime-types and therefore their invocation as a resource methods will always fail.
ambiguous.non.annotated.parameter=Method {0} on resource {1} contains multiple parameters with no annotation. Unable to resolve the injection source.
ambiguous.parameter=Parameter {1} of {0} MUST be only one of a path, query, matrix or header parameter.
ambiguous.resource.method=Multiple methods found to suit client request with accept header {0}. Selected the first method from the following list.
ambiguous.rms.in=A resource model has ambiguous (sub-)resource method for HTTP method {0} and input mime-types as defined by \
  "@Consumes" annotation at Java methods {1} and {2} at matching path pattern {3}. This could cause an error for conflicting \
  output types!
ambiguous.rms.out=A resource model has ambiguous (sub-)resource method for HTTP method {0} and output mime-types as defined by @Produces annotation at Java methods {1} and {2} at matching path pattern {3}.
ambiguous.srls.pathPattern=A resource model has ambiguous sub-resource locators on path pattern {0}.
ambiguous.srls=A resource, {0}, has ambiguous sub-resource locators on path {1}.
broadcaster.listener.exception={0} thrown from BroadcasterListener.
callback.array.null=Additional array of callbacks is null.
callback.array.element.null=One of additional callbacks is null.
closeable.injected.request.context.null=Injected request context is 'null' on thread {0}.
closeable.unable.to.close=Error while closing {0}.
collection.extractor.type.unsupported=Unsupported collection type.
contract.cannot.be.bound.to.resource.method=The given contract ({0}) of {1} provider cannot be bound to a resource method.
default.could.not.process.method=Default value, {0} could not be processed by method {1}.
error.async.callback.failed=Callback {0} invocation failed.
error.committing.output.stream=Error while committing the output stream.
error.closing.commit.output.stream=Error while closing the output stream in order to commit response.
error.closing.finder=Error while closing {0} resource finder.
error.exception.mapping.original.exception=An exception mapping did not successfully produce and processed a response. Logging the original error.
error.exception.mapping.processed.response.error=A response error mapping did not successfully produce and processed a response.
error.exception.mapping.thrown.to.container=An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the container.
error.marshalling.jaxb=Error marshalling JAXB object of type "{0}".
error.msg=ERROR: {0}
error.monitoring.statistics.generation=Error generating monitoring statistics.
error.monitoring.statistics.listener=Exception thrown when provider {0} was processing MonitoringStatistics. Removing provider from further processing.
error.monitoring.statistics.listener.destroy=Exception thrown when listener {0} has been processing the destroy event.
error.monitoring.mbeans.registration=Error when registering Jersey monitoring MBeans. Registration of MBean with name "{0}" failed.
error.monitoring.mbeans.unregistration.destroy=Error un-registering Jersey monitoring MBeans on application destroy.
error.monitoring.scheduler.destroy.timeout=Waiting for shutdown of MonitoringStatisticsProcessor has timed out! Possible cause can be that any registered MonitoringStatisticsListener takes too long to execute.
error.monitoring.shutdown.interrupted=Waiting for shutdown of MonitoringStatisticsProcessor has been interrupted.
error.monitoring.queue.app=Failed to add the monitoring event into the Application Event Queue - queue is full. One of the \
  registered MonitoringStatisticsListeners might be blocking the event processing.
error.monitoring.queue.request=Failed to add the monitoring event into the Request Items Queue - queue is full. One of the \
  registered MonitoringStatisticsListeners might be blocking the event processing.
error.monitoring.queue.response=Failed to add the monitoring event into the Response Statuses Queue - queue is full. One of the \
  registered MonitoringStatisticsListeners might be blocking the event processing.
error.monitoring.queue.mapper=Failed to add the monitoring event into the Exception Mapper Events Queue - queue is full. One of \
  the registered MonitoringStatisticsListeners might be blocking the event processing.
error.monitoring.queue.flooded=A Monitoring Event Queue is being flooded. The monitoring statistics will show inaccurate \
  measurements; especially in case of short time window statistics. The queue size is {0}.
error.parameter.invalid.char.value=Value "{0}" is not a character.
error.parameter.missing.value.provider=No injection source found for a parameter of type {1} at index {0}.
error.parameter.type.processing=Could not process parameter type {0}.
error.primitive.type.null=The request entity cannot be empty.
error.processing.method=Error processing resource method, {0}, for ResourceMethodDispatchProvider, {1}.
error.processing.response.from.already.mapped.exception=Error occurred when processing a response created from an already mapped exception.
error.resource.java.method.invocation=Resource Java method invocation error.
error.resources.cannot.merge=Resources do not have the same path and cannot be merged.
error.request.abort.in.response.phase=The request cannot be aborted as it is already in the response processing phase.
error.request.set.entity.stream.in.response.phase=The entity stream cannot be set in the request as it is already in the response processing phase.
error.request.set.security.context.in.response.phase=The security context cannot be set in the request as it is already in the response processing phase.
error.response.already.commited=The response entity was already committed. The Response entity is being reused more than once.
error.scanning.class.not.found=A class file of the class name, {0}, is identified but the class could not be found.
error.sub.resource.locator.more.resources=Sub resource locator returned {0} in the resource model. Exactly one resource must be returned.
error.suspending.chunked.output.response=Attempt to suspend a client connection associated with a chunked output has failed in the underlying container.
error.suspending.async.request=Attempt to suspend a connection of an asynchronous request failed in the underlying container.
error.unmarshalling.jaxb=Error unmarshalling JAXB object of type "{0}".
error.unsupported.encoding=The encoding {0} is not supported for parameter {1}.
error.validation.subresource=Model validation error(s) found in sub resource returned by sub resource locator.
error.wadl.builder.generation.method=Error generating wadl for method {0} of resource {1}.
error.wadl.builder.generation.param=Error generating wadl for parameter {0} of resource {1} and resource method {2}.
error.wadl.builder.generation.request.media.type=Error generating wadl request representation for media type {0} of method {1} of resource {2}.
error.wadl.builder.generation.request=Error generating wadl for request representation of resource method {0} of resource {1}.
error.wadl.builder.generation.resource.locator=Error generating wadl for sub resource locator {0} of resource {1}.
error.wadl.builder.generation.resource.path=Error generating wadl for Resource {0} with path "{1}".
error.wadl.builder.generation.resource=Error generating wadl application for one specific resource {0}.
error.wadl.builder.generation.response=Error generating wadl response representation for method {0} of resource {1}.
error.wadl.external.grammar=Error attaching an external grammar to the wadl.
error.wadl.generator.config.loader.property=The property {0} is an invalid type: {1} (supported: String, Class<? extends WadlGeneratorConfiguration>, WadlGeneratorConfiguration).
error.wadl.generator.config.loader=Could not load WadlGeneratorConfiguration, check the configuration of "{0}".
error.wadl.generator.configure=Error configuring the given user WadlGenerator by configure() method.
error.wadl.generator.load=Could not load wadl generators from wadlGeneratorDescriptions.
error.wadl.grammar.already.contains=The wadl application already contains a grammars element, we're adding elements of the provided grammars file.
error.wadl.jaxb.context=Error creating a JAXBContext for wadl processing.
error.wadl.resource.application.wadl=Error generating /application.wadl.
error.wadl.resource.external.grammar=Error generating external wadl grammar on /application.wadl/[path].
error.wadl.resource.marshal=Could not marshal the wadl Application.
error.writing.response.entity.chunk=An I/O error has occurred while writing a response message entity chunk to the container output stream.
error.writing.response.entity=An I/O error has occurred while writing a response message entity to the container output stream.
exception.mapper.failed.for.exception=An exception was not mapped due to exception mapper failure. The HTTP 500 response will be returned.
exception.mapper.throws.exception=An exception has been thrown from an exception mapper {0}.
exception.mapping.start=Starting mapping of the exception.
exception.mapping.wae.entity=WebApplicationException (WAE) with non-null entity thrown. Response with status {0} is directly generated from the WAE.
exception.mapping.wae.no.entity=WebApplicationException (WAE) with no entity thrown and no ExceptionMappers have been found for this WAE. Response with status {0} is directly generated from the WAE.
form.param.content-type.error=The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded
form.param.method.error=The "@FormParam" is utilized when the request method is GET
get.consumes.entity=A HTTP GET method, {0}, should not consume any entity.
get.consumes.form.param=A HTTP GET method, {0}, should not consume any form parameter.
get.returns.void=A HTTP GET method, {0}, returns a void type. It can be intentional and perfectly fine, but it is a little uncommon that GET method returns always "204 No Content".
event.sink.returns.type=A HTTP GET method {0} that is being injected with SseEventSink should return void. The output will propagate automatically.
multiple.event.sink.injection=A HTTP GET method {0} defines to SseEventSink parameters to be injected. Only one of the injected event sinks will be connected to the output.
chunked.output.closed=This chunked output has been closed.
illegal.client.config.class.property.value="{0}" property value ({1}) does not represent a valid client configuration class. Falling back to "{2}".
init.msg=Initiating Jersey application, version {0}...
injected.webtarget.uri.invalid="@Uri" annotation value is not a valid URI template: "{0}"
invalid.config.property.value=Invalid value for {0} configuration property: {1}
invalid.mapping.format=Provided {0} property value "{1}" is invalid. It should contain two parts, key and value, separated by ':'.
invalid.mapping.key.empty=The key in {0} mappings record "{1}" is empty.
invalid.mapping.type=Provided {0} property value type is invalid. Acceptable types are String and String[].
invalid.mapping.value.empty=The value in {0} mappings record "{1}" is empty.
jar.scanner.unable.to.close.file=Unable to close Jar file.
jar.scanner.unable.to.read.entry=Unable to read the next Jar entry.
logging.application.initialized=Jersey application initialized.
logging.root.resource.classes=Root Resource Classes
logging.pre.match.filters=Pre-match Filters
logging.global.request.filters=Global Request Filters
logging.global.response.filters=Global Response Filters
logging.global.reader.interceptors=Global Reader Interceptors
logging.global.writer.interceptors=Global Writer Interceptors
logging.name.bound.request.filters=Name-bound Request Filters
logging.name.bound.response.filters=Name-bound Response Filters
logging.name.bound.reader.interceptors=Name-bound Reader Interceptors
logging.name.bound.writer.interceptors=Name-bound Writer Interceptors
logging.dynamic.features=Dynamic Features
logging.message.body.readers=Message Body Readers
logging.message.body.writers=Message Body Writers
logging.provider.bound={0} bound to {1}
method.empty.path.annotation=The (sub)resource method {0} in {1} contains empty path annotation.
method.invocable.from.prematch.filters.only=Method can only be invoked from pre-matching request filters.
method.parameter.cannot.be.null.or.empty=Method parameter "{0}" cannot be null or empty.
method.parameter.cannot.be.null=Method parameter "{0}" cannot be null.
method.unexpected.annotation=(Sub)resource method {0} in {1} contains unexpected annotation {2}.
multiple.http.method.designators=A (sub-)resource method, {0}, should have only one HTTP method designator. It currently has the following designators defined: {1}
new.ar.created.by.introspection.modeler=A new abstract resource created by IntrospectionModeler: {0}
non.instantiable.component=Component of class {0} cannot be instantiated and will be ignored.
non.pub.res.method=A resource method, {0}, MUST be public scoped otherwise the method is ignored
non.pub.sub.res.loc=A sub-resource model, {0}, MUST be public scoped otherwise the method is ignored
non.pub.sub.res.method=A sub-resource method, {0}, MUST be public scoped otherwise the method is ignored
param.null="{0}" parameter is null.
# {0} = parameter name; {1} = parameter type; {2} = field description
parameter.unresolvable=Parameter {0} of type {1} from {2} is not resolvable to a concrete type.
prematching.also.name.bound=@PreMatching provider, {0}, also annotated with a name binding annotation. Name binding will be ignored.
# {0} = exception class name; {1} = exception message
property.value.tostring.throws.exception=[{0} thrown from property value toString(): {1}]
rc.not.modifiable=The resource configuration is not modifiable in this context.
releasing.request.processing.resources.failed=Attempt to release request processing resources has failed for a request.
resource.add.child.already.child=The resource is already a child resource and cannot contain another child resource.
resource.ambiguous=A resource, {0}, has ambiguous path definition with resource {1}. Both resources match to the same path pattern {2}.
resource.config.error.null.applicationclass=Both application and applicationClass can't be null.
resource.config.unable.to.process=Unable to process {0}
resource.contains.res.methods.and.locator=The resource (or sub resource) {0} with path "{1}" contains (sub) resource method(s) and sub resource locator. The resource cannot have both, methods and locator, defined on same path. The locator will be ignored.
resource.empty=A resource, {0}, with path "{1}" is empty. It has no resource (or sub resource) methods neither sub resource locators defined.
resource.implements.provider=A resource, {0}, implements provider interface {1} but does not explicitly define the scope (@Singleton, @PerLookup). The resource class will be managed as singleton.
resource.lookup.failed=Lookup and initialization failed for a resource class: {0}.
resource.merge.conflict.locators=Both resources, resource {0} and resource {1}, contains sub resource locators on the same path {2}.
resource.model.validation.failed.at.init=Validation of the application resource model has failed during application initialization.
resource.multiple.scope.annotations=A resource, {0}, is annotated with multiple scope annotations. Only one scope annotation is allowed for the resource.
resource.replaced.child.does.not.exist=Replaced child resource does not exist in model: {0}.
resource.updated.method.does.not.exist=Updated resource method does not exist in the model: {0}.
security.context.was.not.set=SecurityContext was not set.
singleton.injects.parameter=Parameter {1} of {0} cannot be injected into singleton resource.
sub.res.method.treated.as.res.method=A sub-resource method, {0}, with URI template, "{1}", is treated as a resource method
subres.loc.cache.invalid.size=Invalid value for sub-resource locator cache size: {0}. Using default value: {1}.
subres.loc.cache.load.failed=Loading model and router from sub-resource locator cache failed for "{0}".
subres.loc.has.entity.param=A sub-resource model, {0}, can not have an entity parameter. Try to move the parameter to the corresponding resource method.
subres.loc.returns.void=A sub-resource model, {0}, MUST return a non-void type.
subres.loc.uri.path.invalid=A sub-resource model, {0}, has an invalid URI path: {1}
suspend.handler.execution.failed=Time-out handler execution failed.
suspend.not.suspended=Not suspended.
suspend.scheduling.error=Error while scheduling a timeout task.
type.of.method.not.resolvable.to.concrete.type=Return type, {0}, of method, {1}, is not resolvable to a concrete type.
unable.to.load.class=Class "{0}" cannot be loaded.
unsupported.uri.injection.type="@Uri"-based injection of "{0}" type is not supported.
user.not.authorized=User not authorized.
wadl.doc.extended.wadl=This is full WADL including extended resources. To get simplified WADL with users resources only do not use the query parameter {0}. Link: {1}
wadl.doc.simple.wadl=This is simplified WADL with user and core resources only. To get full WADL with extended resources use the query parameter {0}. Link: {1}
wadl.feature.disabled.nojaxb=JAX-B API not found . WADL feature is disabled.
wadl.feature.disabled.notransform=javax.xml.transform package could not be found. WADL feature is disabled.
wadl.feature.disabled=JAXBContext implementation could not be found. WADL feature is disabled.
wadl.jaxb.context.fallback=Error creating a JAXBContext for wadl serialization. Trying a fallback solution for osgi environments.
wadl.resourcedoc.ambiguous.method.entries=Ambiguous resource documentation detected: \
  Unique resource method documentation cannot be found for method %{0}.%{1}%{2}. \
  Selecting the first available method documentation element from the list of {3} possible candidates."
warning.monitoring.mbeans.bean.already.registered=Monitoring MBeans "{0}" is already registered. Un-registering the current mbean and registering a new one instead.
warning.monitoring.feature.disabled=MonitoringFeature is registered but the configuration property "{0}" (enabling basic monitoring statistics) is FALSE. However, the feature is configured to enable exposure of monitoring MBeans (either by property or by direct instance setup), so the monitoring statistics will be enabled as this is prerequisite for Monitoring MBeans. The configuration is inconsistent and may produce unwanted behaviour. Unregister the feature or change the property value.
warning.monitoring.feature.enabled=MonitoringFeature is registered but the configuration property "{0}" (enabling basic monitoring statistics) is FALSE. Monitoring statistics will be disabled. The configuration is inconsistent and may produce unwanted behaviour. Disable MBeans exposure or enable monitoring statistics.
warning.msg=WARNING: {0}
warning.too.many.external.req.scopes=More than one external request scope found. None of them will be used. Jersey runtime can only accommodate a single external request scope: {0}
