Class TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub

java.lang.Object
io.grpc.stub.AbstractStub<TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub>
io.grpc.stub.AbstractFutureStub<TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub>
org.finos.tracdap.api.internal.TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub
Enclosing class:
TrustedMetadataApiGrpc

public static final class TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub extends io.grpc.stub.AbstractFutureStub<TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub>
A stub to allow clients to do ListenableFuture-style rpc calls to service TrustedMetadataApi.

 Trusted API reading, writing and searching for objects in the TRAC metadata store.
 This API is only available to other components of the TRAC platform, it is
 not exposed to clients via the platform gateway.
 Most of the calls in this interface are identical to their public equivalents.
 Extra calls are available for pre-allocating objects, a facility which is not
 available to clients of the platform. Restrictions on the creation of certain
 object types and manipulation of controlled tag attributes are lifted. Methods
 for performing HTTP GET requests of RESTFUL resources are not duplicated.
 @see TracMetadataApi
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

    io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
  • Method Summary

    Modifier and Type
    Method
    Description
    build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
     
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader>
    Create a new object in the TRAC metadata store.
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader>
    Create an object using an ID that was previously preallocated.
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader>
    Preallocate an object ID for an object that will be created later.
    com.google.common.util.concurrent.ListenableFuture<MetadataBatchResponse>
    Read multiple objects from the TRAC metadata store using tag selectors.
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.Tag>
    Read a single object from the TRAC metadata store using a tag selector.
    com.google.common.util.concurrent.ListenableFuture<MetadataSearchResponse>
    Perform a search against the TRAC metadata store.
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader>
    Update an existing object in the TRAC metadata store.
    com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader>
    Update the tag for an existing object in the TRAC metadata store.
    com.google.common.util.concurrent.ListenableFuture<MetadataWriteBatchResponse>
    Perform a batch of write operations on the TRAC metadata store.

    Methods inherited from class io.grpc.stub.AbstractFutureStub

    newStub, newStub

    Methods inherited from class io.grpc.stub.AbstractStub

    getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

    Methods inherited from class java.lang.Object

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

    • build

      protected TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<TrustedMetadataApiGrpc.TrustedMetadataApiFutureStub>
    • createObject

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader> createObject(MetadataWriteRequest request)
      
       Create a new object in the TRAC metadata store.
       This call behaves identically to the equivalent public API call, without the
       restriction on which types of object can be saved.
       @see TracMetadataApi.createObject()
       
    • updateObject

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader> updateObject(MetadataWriteRequest request)
      
       Update an existing object in the TRAC metadata store.
       This call behaves identically to the equivalent public API call, however it
       can be used with any type of object that supports versioning (currently DATA
       and CUSTOM).
       @see TracMetadataApi.updateObject()
       
    • updateTag

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader> updateTag(MetadataWriteRequest request)
      
       Update the tag for an existing object in the TRAC metadata store.
       This call behaves identically to the equivalent public API call.
       @see TracMetadataApi.updateTag()
       
    • preallocateId

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader> preallocateId(MetadataWriteRequest request)
      
       Preallocate an object ID for an object that will be created later.
       This call is for use by TRAC components that need to reserve an ID before
       it is used, particularly if the object ID must be included in the definition
       of an object that has not been created yet. When creating an ID the tenant
       and object type must be specified, the object that is eventually saved must
       match these two conditions. Orphan IDs are expected - if a component request
       an ID and encounters an error before that ID is used, the orphan ID is just
       ignored.
       
    • createPreallocatedObject

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.TagHeader> createPreallocatedObject(MetadataWriteRequest request)
      
       Create an object using an ID that was previously preallocated.
       This call behaves essentially the same as createObject(), with all the
       same validation. The only difference is that the new definition must be
       supplied with an object header, including the object ID returned from a
       prior call to preallocateId().
       Error conditions include all the error conditions for createObject().
       Using a preallocated ID twice, attempting to save to an unknown ID or the
       ID of another object that already exists are also errors.
       
    • writeBatch

      public com.google.common.util.concurrent.ListenableFuture<MetadataWriteBatchResponse> writeBatch(MetadataWriteBatchRequest request)
      
       Perform a batch of write operations on the TRAC metadata store.
       This call behaves similarly to the equivalent public API call. However,
       the createObject, updateObject and updateTag request types take their
       semantics from the trusted API instead of the public one. It is also
       possible to include preallocateId and createPreallocatedObject in the
       batch request.
       @see TracMetadataApi.writeBatch()
       
    • readObject

      public com.google.common.util.concurrent.ListenableFuture<org.finos.tracdap.metadata.Tag> readObject(MetadataReadRequest request)
      
       Read a single object from the TRAC metadata store using a tag selector.
       This call behaves identically to the equivalent public API call.
       @see TracMetadataApi.readObject()
       
    • readBatch

      public com.google.common.util.concurrent.ListenableFuture<MetadataBatchResponse> readBatch(MetadataBatchRequest request)
      
       Read multiple objects from the TRAC metadata store using tag selectors.
       This call behaves identically to the equivalent public API call.
       @see TracMetadataApi.readBatch()
       
    • search

      public com.google.common.util.concurrent.ListenableFuture<MetadataSearchResponse> search(MetadataSearchRequest request)
      
       Perform a search against the TRAC metadata store.
       This call behaves identically to the equivalent public API call.
       @see TracMetadataApi.search()