Class FileServiceGrpc.FileServiceBlockingV2Stub

java.lang.Object
io.grpc.stub.AbstractStub<FileServiceGrpc.FileServiceBlockingV2Stub>
io.grpc.stub.AbstractBlockingStub<FileServiceGrpc.FileServiceBlockingV2Stub>
com.hedera.hashgraph.sdk.proto.FileServiceGrpc.FileServiceBlockingV2Stub
Enclosing class:
FileServiceGrpc

public static final class FileServiceGrpc.FileServiceBlockingV2Stub extends io.grpc.stub.AbstractBlockingStub<FileServiceGrpc.FileServiceBlockingV2Stub>
A stub to allow clients to do synchronous rpc calls to service FileService.

 Service gRPC definitions for the Hedera File Service (HFS).
 #### Signature Requirements
 The HFS manages file authorization differently, depending on type of file
 transaction, and this can be surprising.<br/>
 The core element of file authorization is the `keys` field,
 which is a `KeyList`; a list of individual `Key` messages, each of which
 may represent a simple or complex key.<br/>
 The file service transactions treat this list differently.<br/>
 A `fileCreate`, `fileAppend`, or `fileUpdate` MUST have a valid signature
 from _each_ key in the list.<br/>
 A `fileDelete` MUST have a valid signature from _at least one_ key in
 the list. This is different, and allows a file "owned" by many entities
 to be deleted by any one of those entities. A deleted file cannot be
 restored, so it is important to consider this when assigning keys for
 a file.<br/>
 If any of the keys in a `KeyList` are complex, the full requirements of
 each complex key must be met to count as a "valid signature" for that key.
 A complex key structure (i.e. a `ThresholdKey`, or `KeyList`, possibly
 including additional `ThresholdKey` or `KeyList` descendants) may be
 assigned as the sole entry in a file `keys` field to ensure all transactions
 have the same signature requirements.
 
  • Method Details

    • build

      protected FileServiceGrpc.FileServiceBlockingV2Stub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<FileServiceGrpc.FileServiceBlockingV2Stub>
    • createFile

      public TransactionResponse createFile(Transaction request) throws io.grpc.StatusException
      
       Create a file in HFS.
       
      Throws:
      io.grpc.StatusException
    • updateFile

      public TransactionResponse updateFile(Transaction request) throws io.grpc.StatusException
      
       Update a file in HFS.
       
      Throws:
      io.grpc.StatusException
    • deleteFile

      public TransactionResponse deleteFile(Transaction request) throws io.grpc.StatusException
      
       Delete a file in HFS.<br/>
       The content of a file deleted in this manner is completely removed
       from network state, but the file metadata remains.
       
      Throws:
      io.grpc.StatusException
    • appendContent

      public TransactionResponse appendContent(Transaction request) throws io.grpc.StatusException
      
       Append content to a file in HFS.
       
      Throws:
      io.grpc.StatusException
    • getFileContent

      public Response getFileContent(Query request) throws io.grpc.StatusException
      
       Retrieve the content of a file in HFS.<br/>
       Note that this query retrieves _only_ the file content, not any of
       the metadata for the file.
       
      Throws:
      io.grpc.StatusException
    • getFileInfo

      public Response getFileInfo(Query request) throws io.grpc.StatusException
      
       Retrieve the metadata for a file in HFS.<br/>
       Note that this query does not retrieve the file _content_.
       
      Throws:
      io.grpc.StatusException
    • systemDelete

      public TransactionResponse systemDelete(Transaction request) throws io.grpc.StatusException
      
       Delete a "regular" file without "owner" authorization.<br/>
       This transaction _does not_ require signatures for the keys in
       the file `keys` list, but must be signed by a "privileged" account.
       <p>
       This transaction SHALL NOT accept a file identifier for
       a "system" file.<br/>
       This transaction SHALL NOT remove the _content_ of the file from state.
       This permits use of the `systemUndelete` to reverse this action if
       performed in error.
       <p>
       This is a privileged transaction, and only accounts 2-59 are permitted
       to call this function, by default. The actual restriction is in the
       `api-permission.properties` file in the consensus node configuration.
       
      Throws:
      io.grpc.StatusException
    • systemUndelete

      public TransactionResponse systemUndelete(Transaction request) throws io.grpc.StatusException
      
       Undelete a "regular" file.
       This transaction must be signed by a "privileged" account.<br/>
       <p>
       This transaction SHALL NOT accept a file identifier for
       a "system" file.<br/>
       The file identified SHOULD have been previously deleted.<br/>
       This transaction SHALL NOT recover the _content_ of a file unless that
       file was deleted with a `systemDelete` transaction. The _content_ of a
       file deleted with a `fileDelete` transaction is not retained in state.
       <p>
       This is a privileged transaction, and only accounts 2-60 are permitted
       to call this function, by default. The actual restriction is in the
       `api-permission.properties` file in the consensus node configuration.
       
      Throws:
      io.grpc.StatusException