Class SourceProvider.SaxSourceReader
- java.lang.Object
-
- org.glassfish.jersey.message.internal.SourceProvider.SaxSourceReader
-
- All Implemented Interfaces:
MessageBodyReader<SAXSource>
- Enclosing class:
- SourceProvider
@Produces({"application/xml","text/xml","*/*"}) @Consumes({"application/xml","text/xml","*/*"}) @Singleton public static final class SourceProvider.SaxSourceReader extends Object implements MessageBodyReader<SAXSource>
Provider for un-marshallingSAXSourceinstances.
-
-
Constructor Summary
Constructors Constructor Description SaxSourceReader(jakarta.inject.Provider<SAXParserFactory> spf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisReadable(Class<?> t, Type gt, Annotation[] as, MediaType mediaType)Ascertain if the MessageBodyReader can produce an instance of a particular type.SAXSourcereadFrom(Class<SAXSource> t, Type gt, Annotation[] as, MediaType mediaType, MultivaluedMap<String,String> httpHeaders, InputStream entityStream)Read a type from theInputStream.
-
-
-
Constructor Detail
-
SaxSourceReader
public SaxSourceReader(@Context jakarta.inject.Provider<SAXParserFactory> spf)
-
-
Method Detail
-
isReadable
public boolean isReadable(Class<?> t, Type gt, Annotation[] as, MediaType mediaType)
Description copied from interface:MessageBodyReaderAscertain 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 interfaceMessageBodyReader<SAXSource>- Parameters:
t- the class of instance to be produced.gt- 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.as- 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 SAXSource readFrom(Class<SAXSource> t, Type gt, Annotation[] as, MediaType mediaType, MultivaluedMap<String,String> httpHeaders, InputStream entityStream) throws IOException
Description copied from interface:MessageBodyReaderRead 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 interfaceMessageBodyReader<SAXSource>- Parameters:
t- the type that is to be read from the entity stream.gt- 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.as- 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.
-
-