Class StreamServiceAbstract<I,O,H extends StreamHandlerAbstract<I,O>>

java.lang.Object
io.clonecloudstore.common.quarkus.server.service.StreamServiceAbstract<I,O,H>
Type Parameters:
I - > the extra input information from business point of view
O - the output information that will be output from business point of view (if any)
Direct Known Subclasses:
AbstractPrivateObjectHelper, AbstractPublicObjectHelper, LocalReplicatorResource, RemoteReplicatorResource

public abstract class StreamServiceAbstract<I,O,H extends StreamHandlerAbstract<I,O>> extends Object
Abstraction to enable InputStream Get (Pull) and Post (Push) implementations. Note that real Service must specify @Blocking on the corresponding methods with almost same interface except the way business information are transmitted.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected jakarta.ws.rs.core.Response
     
    protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response>
    createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, boolean keepInputStreamCompressed, InputStream inputStream)
    Method to use within the POST query definition with a @Blocking annotation.
    protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response>
    createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, InputStream inputStream)
    Method to use within the POST query definition with a @Blocking annotation.
    protected H
     
    protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response>
    readObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, boolean external)
    Method to use within the GET query definition with a @Blocking annotation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • StreamServiceAbstract

      public StreamServiceAbstract()
  • Method Details

    • getNativeStream

      protected H getNativeStream()
    • createObject

      protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, InputStream inputStream)
      Method to use within the POST query definition with a @Blocking annotation. This method should be called by the REST API to handle the received InputStream.
    • createObject

      protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, boolean keepInputStreamCompressed, InputStream inputStream)
      Method to use within the POST query definition with a @Blocking annotation. This method should be called by the REST API to handle the received InputStream.
      Parameters:
      keepInputStreamCompressed - If True, and if the InputStream is compressed, will be kept as is; else will decompress the InputStream if it is compressed
    • readObject

      protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> readObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, boolean external)
      Method to use within the GET query definition with a @Blocking annotation. Usually len is 0 but might be a hint on expected InputStream size.
    • createErrorResponse

      protected jakarta.ws.rs.core.Response createErrorResponse(Exception e)