/*
 * Copyright (c) 2012, 2020 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
 */

package org.glassfish.jersey.message;

import org.glassfish.jersey.internal.util.PropertiesClass;

Jersey configuration properties for message & entity processing.
Author:Marek Potociar
/** * Jersey configuration properties for message & entity processing. * * @author Marek Potociar */
@PropertiesClass public final class MessageProperties {
If set to true then XML root element tag name for collections will be derived from @XmlRootElement annotation value and won't be de-capitalized.

The default value is false.

The name of the configuration property is "jersey.config.jaxb.collections.processXmlRootElement".
/** * If set to {@code true} then XML root element tag name for collections will * be derived from {@link jakarta.xml.bind.annotation.XmlRootElement @XmlRootElement} * annotation value and won't be de-capitalized. * <p /> * The default value is {@code false}. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String JAXB_PROCESS_XML_ROOT_ELEMENT = "jersey.config.jaxb.collections.processXmlRootElement";
If set to true XML security features when parsing XML documents will be disabled.

The default value is false.

The name of the configuration property is "jersey.config.xml.security.disable".
/** * If set to {@code true} XML security features when parsing XML documents will be * disabled. * <p /> * The default value is {@code false}. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String XML_SECURITY_DISABLE = "jersey.config.xml.security.disable";
If set to true indicates that produced XML output should be formatted if possible (see below).

A XML message entity written by a MessageBodyWriter may be formatted for the purposes of human readability provided the respective MessageBodyWriter supports XML output formatting. All JAXB-based message body writers support this property.

The default value is false.

The name of the configuration property is "jersey.config.xml.formatOutput".
/** * If set to {@code true} indicates that produced XML output should be formatted * if possible (see below). * <p /> * A XML message entity written by a {@link jakarta.ws.rs.ext.MessageBodyWriter} * may be formatted for the purposes of human readability provided the respective * {@code MessageBodyWriter} supports XML output formatting. All JAXB-based message * body writers support this property. * <p /> * The default value is {@code false}. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String XML_FORMAT_OUTPUT = "jersey.config.xml.formatOutput";
Value of the property indicates the buffer size to be used for I/O operations on byte and character streams. The property value is expected to be a positive integer otherwise it will be ignored.

The default value is 8192.

The name of the configuration property is "jersey.config.io.bufferSize".
/** * Value of the property indicates the buffer size to be used for I/O operations * on byte and character streams. The property value is expected to be a positive * integer otherwise it will be ignored. * <p /> * The default value is <code>{@value #IO_DEFAULT_BUFFER_SIZE}</code>. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String IO_BUFFER_SIZE = "jersey.config.io.bufferSize";
The default buffer size (8192) for I/O operations on byte and character streams.
/** * The default buffer size ({@value}) for I/O operations on byte and character * streams. */
public static final int IO_DEFAULT_BUFFER_SIZE = 8192;
If set to true, DeflateEncoder deflate encoding interceptor will use non-standard version of the deflate content encoding, skipping the zlib wrapper. Unfortunately, deflate encoding implementations in some products use this non-compliant version, hence the switch.

The default value is false.

The name of the configuration property is "jersey.config.deflate.nozlib".
/** * If set to {@code true}, {@code DeflateEncoder deflate encoding interceptor} will use non-standard version * of the deflate content encoding, skipping the zlib wrapper. Unfortunately, deflate encoding * implementations in some products use this non-compliant version, hence the switch. * <p /> * The default value is {@code false}. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String DEFLATE_WITHOUT_ZLIB = "jersey.config.deflate.nozlib";
If set to true, MessageBodyReaders and MessageBodyWriters will be ordered by rules from JAX-RS 1.x, where custom providers have always precedence; providers are sorted by MediaType and afterwards by declaration distance - see DeclarationDistanceComparator. Otherwise JAX-RS 3.x ordering will be used, which sorts providers firstly by declaration distance, then by MediaType and by origin (custom/provided).

The default value is false.

The name of the configuration property is "jersey.config.workers.legacyOrdering".
/** * If set to {@code true}, {@link jakarta.ws.rs.ext.MessageBodyReader MessageBodyReaders} and * {@link jakarta.ws.rs.ext.MessageBodyWriter MessageBodyWriters} will be ordered by rules from JAX-RS 1.x, where custom * providers have always precedence; providers are sorted by {@link jakarta.ws.rs.core.MediaType} and afterwards by * declaration distance - see {@link org.glassfish.jersey.message.internal.MessageBodyFactory.DeclarationDistanceComparator}. * Otherwise JAX-RS 3.x ordering will be used, which sorts providers firstly by declaration distance, then by * {@link jakarta.ws.rs.core.MediaType} and by origin (custom/provided). * <p /> * The default value is {@code false}. * <p /> * The name of the configuration property is <code>{@value}</code>. */
public static final String LEGACY_WORKERS_ORDERING = "jersey.config.workers.legacyOrdering";
Prevents instantiation.
/** * Prevents instantiation. */
private MessageProperties() { } }