@Produces(value={"application/xml","text/xml","*/*"}) @Consumes(value={"application/xml","text/xml","*/*"}) @Singleton public static final class SourceProvider.SourceWriter extends Object implements MessageBodyWriter<Source>
Source
instances.Constructor and Description |
---|
SourceWriter(jakarta.inject.Provider<SAXParserFactory> spf,
jakarta.inject.Provider<TransformerFactory> tf) |
Modifier and Type | Method and Description |
---|---|
long |
getSize(Source o,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
Originally, the method has been called before
writeTo to ascertain the length in bytes of the serialized form
of t . |
boolean |
isWriteable(Class<?> t,
Type gt,
Annotation[] as,
MediaType mediaType)
Ascertain if the MessageBodyWriter supports a particular type.
|
void |
writeTo(Source source,
Class<?> t,
Type gt,
Annotation[] as,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
Write a type to an HTTP message.
|
@Inject public SourceWriter(@Context jakarta.inject.Provider<SAXParserFactory> spf, @Context jakarta.inject.Provider<TransformerFactory> tf)
public boolean isWriteable(Class<?> t, Type gt, Annotation[] as, MediaType mediaType)
MessageBodyWriter
isWriteable
in interface MessageBodyWriter<Source>
t
- the class of instance that is to be written.gt
- the type of instance to be written, obtained either by reflection of a resource method return type
or via inspection of the returned instance. GenericEntity
provides a way to specify this
information at runtime.as
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.true
if the type is supported, otherwise false
.public long getSize(Source o, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
MessageBodyWriter
writeTo
to ascertain the length in bytes of the serialized form
of t
. A non-negative return value has been used in a HTTP Content-Length
header.
As of JAX-RS 2.0, the method has been deprecated and the value returned by the method is ignored by a JAX-RS runtime.
All MessageBodyWriter
implementations are advised to return -1
from the method. Responsibility to
compute the actual Content-Length
header value has been delegated to JAX-RS runtime.
getSize
in interface MessageBodyWriter<Source>
o
- the instance to writetype
- the class of instance that is to be written.genericType
- the type of instance to be written. GenericEntity
provides a way to
specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.public void writeTo(Source source, Class<?> t, Type gt, Annotation[] as, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException
MessageBodyWriter
writeTo
in interface MessageBodyWriter<Source>
source
- the instance to write.t
- the class of instance that is to be written.gt
- the type of instance to be written. GenericEntity
provides a way to
specify this information at runtime.as
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.httpHeaders
- a mutable map of the HTTP message headers.entityStream
- the OutputStream
for the HTTP entity. The implementation must not close the output
stream.IOException
- if an IO error arises.Copyright © 2007-2024, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.