Class Marshaller<A,B>
- java.lang.Object
-
- akka.http.javadsl.marshalling.Marshaller<A,B>
-
public class Marshaller<A,B> extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Marshaller()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Marshaller<A,B>
asScala()
<C> Marshaller<A,C>
asScalaCastOutput()
INTERNAL API: involves unsafe cast (however is very fast)static <T> Marshaller<T,RequestEntity>
asScalaEntityMarshaller(Marshaller<T,RequestEntity> m)
static <T> Marshaller<T,HttpResponse>
asScalaToResponseMarshaller(Marshaller<T,HttpResponse> m)
static Marshaller<byte[],RequestEntity>
byteArrayToEntity()
static Marshaller<akka.util.ByteString,RequestEntity>
byteStringMarshaller(ContentType t)
static Marshaller<akka.util.ByteString,RequestEntity>
byteStringToEntity()
static Marshaller<char[],RequestEntity>
charArrayToEntity()
<C> Marshaller<C,B>
compose(java.util.function.Function<C,A> f)
static <A,B1,B2 extends B1>
Marshaller<A,B1>downcast(Marshaller<A,B2> m)
Safe downcasting of the output type of the marshaller to a superclass.static <A,B1,B2 extends B1>
Marshaller<A,B1>downcast(Marshaller<A,B2> m, java.lang.Class<B1> target)
Safe downcasting of the output type of the marshaller to a superclass.static <A> Marshaller<A,HttpResponse>
entityToOKResponse(Marshaller<A,? extends RequestEntity> m)
static <A> Marshaller<A,HttpResponse>
entityToOKResponse(java.lang.Iterable<HttpHeader> headers, Marshaller<A,? extends RequestEntity> m)
static <A,R extends RequestEntity>
Marshaller<A,HttpResponse>entityToResponse(StatusCode status, Marshaller<A,R> m)
static <A> Marshaller<A,HttpResponse>
entityToResponse(StatusCode status, java.lang.Iterable<HttpHeader> headers, Marshaller<A,? extends RequestEntity> m)
static Marshaller<FormData,RequestEntity>
formDataToEntity()
static <A,B>
Marshaller<A,B>fromScala(Marshaller<A,B> scalaMarshaller)
<C> Marshaller<A,C>
map(java.util.function.Function<B,C> f)
static <A,B>
Marshaller<A,B>oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2)
Helper for creating a "super-marshaller" from a number of "sub-marshallers".static <A,B>
Marshaller<A,B>oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3)
Helper for creating a "super-marshaller" from a number of "sub-marshallers".static <A,B>
Marshaller<A,B>oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3, Marshaller<A,B> m4)
Helper for creating a "super-marshaller" from a number of "sub-marshallers".static <A,B>
Marshaller<A,B>oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3, Marshaller<A,B> m4, Marshaller<A,B> m5)
Helper for creating a "super-marshaller" from a number of "sub-marshallers".static <A,B>
Marshaller<A,B>oneOf(scala.collection.immutable.Seq<Marshaller<A,B>> ms)
Helper for creating a "super-marshaller" from a number of "sub-marshallers".static <A,B>
Marshaller<A,B>opaque(java.util.function.Function<A,B> f)
Helper for creating a synchronousMarshaller
to non-negotiable content from the given function.static <A> Marshaller<java.util.Optional<A>,RequestEntity>
optionMarshaller(Marshaller<A,RequestEntity> m)
Marshals an Optional[A] to a RequestEntity an empty optional will yield an empty entity.static Marshaller<java.lang.String,RequestEntity>
stringToEntity()
static <T> scala.Option<T>
toOption(java.util.Optional<T> opt)
static <A,B>
Marshaller<A,B>withFixedContentType(ContentType contentType, java.util.function.Function<A,B> f)
Helper for creating a synchronousMarshaller
to content with a fixed charset from the given function.static <A,B>
Marshaller<A,B>withOpenCharset(MediaType.WithOpenCharset mediaType, java.util.function.BiFunction<A,HttpCharset,B> f)
Helper for creating a synchronousMarshaller
to content with a negotiable charset from the given function.static <A,C>
Marshaller<C,RequestEntity>wrapEntity(java.util.function.BiFunction<scala.concurrent.ExecutionContext,C,A> f, Marshaller<A,RequestEntity> m, MediaType mediaType)
static <A,C,E extends RequestEntity>
Marshaller<C,RequestEntity>wrapEntity(java.util.function.Function<C,A> f, Marshaller<A,E> m, MediaType mediaType)
-
-
-
Method Detail
-
fromScala
public static <A,B> Marshaller<A,B> fromScala(Marshaller<A,B> scalaMarshaller)
-
toOption
public static <T> scala.Option<T> toOption(java.util.Optional<T> opt)
-
downcast
public static <A,B1,B2 extends B1> Marshaller<A,B1> downcast(Marshaller<A,B2> m)
Safe downcasting of the output type of the marshaller to a superclass.Marshaller is covariant in B, i.e. if B2 is a subclass of B1, then Marshaller[X,B2] is OK to use where Marshaller[X,B1] is expected.
- Parameters:
m
- (undocumented)- Returns:
- (undocumented)
-
downcast
public static <A,B1,B2 extends B1> Marshaller<A,B1> downcast(Marshaller<A,B2> m, java.lang.Class<B1> target)
Safe downcasting of the output type of the marshaller to a superclass.Marshaller is covariant in B, i.e. if B2 is a subclass of B1, then Marshaller[X,B2] is OK to use where Marshaller[X,B1] is expected.
- Parameters:
m
- (undocumented)target
- (undocumented)- Returns:
- (undocumented)
-
stringToEntity
public static Marshaller<java.lang.String,RequestEntity> stringToEntity()
-
byteArrayToEntity
public static Marshaller<byte[],RequestEntity> byteArrayToEntity()
-
charArrayToEntity
public static Marshaller<char[],RequestEntity> charArrayToEntity()
-
byteStringToEntity
public static Marshaller<akka.util.ByteString,RequestEntity> byteStringToEntity()
-
formDataToEntity
public static Marshaller<FormData,RequestEntity> formDataToEntity()
-
byteStringMarshaller
public static Marshaller<akka.util.ByteString,RequestEntity> byteStringMarshaller(ContentType t)
-
optionMarshaller
public static <A> Marshaller<java.util.Optional<A>,RequestEntity> optionMarshaller(Marshaller<A,RequestEntity> m)
Marshals an Optional[A] to a RequestEntity an empty optional will yield an empty entity.- Parameters:
m
- (undocumented)- Returns:
- (undocumented)
-
wrapEntity
public static <A,C> Marshaller<C,RequestEntity> wrapEntity(java.util.function.BiFunction<scala.concurrent.ExecutionContext,C,A> f, Marshaller<A,RequestEntity> m, MediaType mediaType)
-
wrapEntity
public static <A,C,E extends RequestEntity> Marshaller<C,RequestEntity> wrapEntity(java.util.function.Function<C,A> f, Marshaller<A,E> m, MediaType mediaType)
-
entityToOKResponse
public static <A> Marshaller<A,HttpResponse> entityToOKResponse(Marshaller<A,? extends RequestEntity> m)
-
entityToResponse
public static <A,R extends RequestEntity> Marshaller<A,HttpResponse> entityToResponse(StatusCode status, Marshaller<A,R> m)
-
entityToResponse
public static <A> Marshaller<A,HttpResponse> entityToResponse(StatusCode status, java.lang.Iterable<HttpHeader> headers, Marshaller<A,? extends RequestEntity> m)
-
entityToOKResponse
public static <A> Marshaller<A,HttpResponse> entityToOKResponse(java.lang.Iterable<HttpHeader> headers, Marshaller<A,? extends RequestEntity> m)
-
oneOf
public static <A,B> Marshaller<A,B> oneOf(scala.collection.immutable.Seq<Marshaller<A,B>> ms)
Helper for creating a "super-marshaller" from a number of "sub-marshallers". Content-negotiation determines, which "sub-marshaller" eventually gets to do the job.Please note that all passed in marshallers will actually be invoked in order to get the Marshalling object out of them, and later decide which of the marshallings should be returned. This is by-design, however in ticket as discussed in ticket https://github.com/akka/akka-http/issues/243 it MAY be changed in later versions of Akka HTTP.
- Parameters:
ms
- (undocumented)- Returns:
- (undocumented)
-
oneOf
public static <A,B> Marshaller<A,B> oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2)
Helper for creating a "super-marshaller" from a number of "sub-marshallers". Content-negotiation determines, which "sub-marshaller" eventually gets to do the job.Please note that all marshallers will actually be invoked in order to get the Marshalling object out of them, and later decide which of the marshallings should be returned. This is by-design, however in ticket as discussed in ticket https://github.com/akka/akka-http/issues/243 it MAY be changed in later versions of Akka HTTP.
- Parameters:
m1
- (undocumented)m2
- (undocumented)- Returns:
- (undocumented)
-
oneOf
public static <A,B> Marshaller<A,B> oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3)
Helper for creating a "super-marshaller" from a number of "sub-marshallers". Content-negotiation determines, which "sub-marshaller" eventually gets to do the job.Please note that all marshallers will actually be invoked in order to get the Marshalling object out of them, and later decide which of the marshallings should be returned. This is by-design, however in ticket as discussed in ticket https://github.com/akka/akka-http/issues/243 it MAY be changed in later versions of Akka HTTP.
- Parameters:
m1
- (undocumented)m2
- (undocumented)m3
- (undocumented)- Returns:
- (undocumented)
-
oneOf
public static <A,B> Marshaller<A,B> oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3, Marshaller<A,B> m4)
Helper for creating a "super-marshaller" from a number of "sub-marshallers". Content-negotiation determines, which "sub-marshaller" eventually gets to do the job.Please note that all marshallers will actually be invoked in order to get the Marshalling object out of them, and later decide which of the marshallings should be returned. This is by-design, however in ticket as discussed in ticket https://github.com/akka/akka-http/issues/243 it MAY be changed in later versions of Akka HTTP.
- Parameters:
m1
- (undocumented)m2
- (undocumented)m3
- (undocumented)m4
- (undocumented)- Returns:
- (undocumented)
-
oneOf
public static <A,B> Marshaller<A,B> oneOf(Marshaller<A,B> m1, Marshaller<A,B> m2, Marshaller<A,B> m3, Marshaller<A,B> m4, Marshaller<A,B> m5)
Helper for creating a "super-marshaller" from a number of "sub-marshallers". Content-negotiation determines, which "sub-marshaller" eventually gets to do the job.Please note that all marshallers will actually be invoked in order to get the Marshalling object out of them, and later decide which of the marshallings should be returned. This is by-design, however in ticket as discussed in ticket https://github.com/akka/akka-http/issues/243 it MAY be changed in later versions of Akka HTTP.
- Parameters:
m1
- (undocumented)m2
- (undocumented)m3
- (undocumented)m4
- (undocumented)m5
- (undocumented)- Returns:
- (undocumented)
-
withFixedContentType
public static <A,B> Marshaller<A,B> withFixedContentType(ContentType contentType, java.util.function.Function<A,B> f)
Helper for creating a synchronousMarshaller
to content with a fixed charset from the given function.- Parameters:
contentType
- (undocumented)f
- (undocumented)- Returns:
- (undocumented)
-
withOpenCharset
public static <A,B> Marshaller<A,B> withOpenCharset(MediaType.WithOpenCharset mediaType, java.util.function.BiFunction<A,HttpCharset,B> f)
Helper for creating a synchronousMarshaller
to content with a negotiable charset from the given function.- Parameters:
mediaType
- (undocumented)f
- (undocumented)- Returns:
- (undocumented)
-
opaque
public static <A,B> Marshaller<A,B> opaque(java.util.function.Function<A,B> f)
Helper for creating a synchronousMarshaller
to non-negotiable content from the given function.- Parameters:
f
- (undocumented)- Returns:
- (undocumented)
-
asScalaToResponseMarshaller
public static <T> Marshaller<T,HttpResponse> asScalaToResponseMarshaller(Marshaller<T,HttpResponse> m)
-
asScalaEntityMarshaller
public static <T> Marshaller<T,RequestEntity> asScalaEntityMarshaller(Marshaller<T,RequestEntity> m)
-
asScala
public Marshaller<A,B> asScala()
-
asScalaCastOutput
public <C> Marshaller<A,C> asScalaCastOutput()
INTERNAL API: involves unsafe cast (however is very fast)
-
map
public <C> Marshaller<A,C> map(java.util.function.Function<B,C> f)
-
compose
public <C> Marshaller<C,B> compose(java.util.function.Function<C,A> f)
-
-