com.fasterxml.jackson.core.util.RequestPayload Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache is an open source, standards-based cache used to boost performance,
offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
this has made it the most widely-used Java-based cache.
package com.fasterxml.jackson.core.util;
import java.io.IOException;
/**
* Container object used to contain optional information on content
* being parsed, passed to {@link com.fasterxml.jackson.core.JsonParseException} in case of
* exception being thrown; this may be useful for caller to display
* information on failure.
*
* @since 2.8
*/
public class RequestPayload
implements java.io.Serializable // just in case, even though likely included as transient
{
private static final long serialVersionUID = 1L;
// request payload as byte[]
protected byte[] _payloadAsBytes;
// request payload as String
protected CharSequence _payloadAsText;
// Charset if the request payload is set in bytes
protected String _charset;
public RequestPayload(byte[] bytes, String charset) {
if (bytes == null) {
throw new IllegalArgumentException();
}
_payloadAsBytes = bytes;
_charset = (charset == null || charset.isEmpty()) ? "UTF-8" : charset;
}
public RequestPayload(CharSequence str) {
if (str == null) {
throw new IllegalArgumentException();
}
_payloadAsText = str;
}
/**
* Returns the raw request payload object i.e, either byte[] or String
*
* @return Object which is a raw request payload i.e, either byte[] or
* String
*/
public Object getRawPayload() {
if (_payloadAsBytes != null) {
return _payloadAsBytes;
}
return _payloadAsText;
}
@Override
public String toString() {
if (_payloadAsBytes != null) {
try {
return new String(_payloadAsBytes, _charset);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return _payloadAsText.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy