blob: 6319abbe7bc84c25d019aadf7783a9e6b2a64295 [file] [log] [blame]
/*
* Copyright (c) 2012, 2019 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
*/
@PropertiesClass
public final class MessageProperties {
/**
* If set to {@code true} then XML root element tag name for collections will
* be derived from {@link javax.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 {@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 {@code true} indicates that produced XML output should be formatted
* if possible (see below).
* <p />
* A XML message entity written by a {@link javax.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.
* <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 ({@value}) for I/O operations on byte and character
* streams.
*/
public static final int IO_DEFAULT_BUFFER_SIZE = 8192;
/**
* 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 {@code true}, {@link javax.ws.rs.ext.MessageBodyReader MessageBodyReaders} and
* {@link javax.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 javax.ws.rs.core.MediaType} and afterwards by
* declaration distance - see {@link org.glassfish.jersey.message.internal.MessageBodyFactory.DeclarationDistanceComparator}.
* Otherwise JAX-RS 2.x ordering will be used, which sorts providers firstly by declaration distance, then by
* {@link javax.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.
*/
private MessageProperties() {
}
}