package com.fasterxml.jackson.core.util;

import java.io.IOException;

Container object used to contain optional information on content being parsed, passed to JsonParseException in case of exception being thrown; this may be useful for caller to display information on failure.
Since:2.8
/** * 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
Returns:Object which is a raw request payload i.e, either byte[] or String
/** * 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(); } }