Class SerializableErrorEntityTextReader
- java.lang.Object
-
- org.gcube.common.gxrest.response.entity.SerializableErrorEntityTextReader
-
- All Implemented Interfaces:
jakarta.ws.rs.ext.MessageBodyReader<SerializableErrorEntity>
@Provider @Consumes("text/plain") public class SerializableErrorEntityTextReader extends Object implements jakarta.ws.rs.ext.MessageBodyReader<SerializableErrorEntity>Text reader forSerializableErrorEntity- Author:
- Manuele Simi (ISTI-CNR)
-
-
Constructor Summary
Constructors Constructor Description SerializableErrorEntityTextReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisReadable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)Ascertain if the MessageBodyReader can produce an instance of a particular type.SerializableErrorEntityreadFrom(Class<SerializableErrorEntity> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream)Read a type from theInputStream.
-
-
-
Method Detail
-
isReadable
public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
Ascertain if the MessageBodyReader can produce an instance of a particular type. Thetypeparameter gives the class of the instance that should be produced, thegenericTypeparameter gives thejava.lang.reflect.Typeof the instance that should be produced. E.g. if the instance to be produced isList<String>, thetypeparameter will bejava.util.Listand thegenericTypeparameter will bejava.lang.reflect.ParameterizedType.- Specified by:
isReadablein interfacejakarta.ws.rs.ext.MessageBodyReader<SerializableErrorEntity>- Parameters:
type- the class of instance to be produced.genericType- the type of instance to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned byMethod.getGenericParameterTypes.annotations- an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned byMethod.getParameterAnnotations.mediaType- the media type of the HTTP entity, if one is not specified in the request thenapplication/octet-streamis used.- Returns:
trueif the type is supported, otherwisefalse.
-
readFrom
public SerializableErrorEntity readFrom(Class<SerializableErrorEntity> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream) throws IOException, jakarta.ws.rs.WebApplicationException
Read a type from theInputStream.In case the entity input stream is empty, the reader is expected to either return a Java representation of a zero-length entity or throw a
NoContentExceptionin case no zero-length entity representation is defined for the supported Java type. ANoContentException, if thrown by a message body reader while reading a server request entity, is automatically translated by JAX-RS server runtime into aBadRequestExceptionwrapping the originalNoContentExceptionand rethrown for a standard processing by the registeredexception mappers.- Specified by:
readFromin interfacejakarta.ws.rs.ext.MessageBodyReader<SerializableErrorEntity>- Parameters:
type- the type that is to be read from the entity stream.genericType- the type of instance to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned byMethod.getGenericParameterTypes.annotations- an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned byMethod.getParameterAnnotations.mediaType- the media type of the HTTP entity.httpHeaders- the read-only HTTP headers associated with HTTP entity.entityStream- theInputStreamof the HTTP entity. The caller is responsible for ensuring that the input stream ends when the entity has been consumed. The implementation should not close the input stream.- Returns:
- the type that was read from the stream. In case the entity input stream is empty, the reader
is expected to either return an instance representing a zero-length entity or throw
a
NoContentExceptionin case no zero-length entity representation is defined for the supported Java type. - Throws:
IOException- if an IO error arises. In case the entity input stream is empty and the reader is not able to produce a Java representation for a zero-length entity,NoContentExceptionis expected to be thrown.jakarta.ws.rs.WebApplicationException- if a specific HTTP error response needs to be produced. Only effective if thrown prior to the response being committed.
-
-