Class DirectoryBlobStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>,​F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,​D>>

java.lang.Object
io.datarouter.storage.node.BaseNode<PK,​D,​F>
io.datarouter.storage.node.type.physical.base.BasePhysicalNode<PK,​D,​F>
io.datarouter.filesystem.node.object.DirectoryBlobStorageNode<PK,​D,​F>
All Implemented Interfaces:
io.datarouter.storage.node.Node<PK,​D,​F>, io.datarouter.storage.node.op.NodeOps<PK,​D>, io.datarouter.storage.node.op.raw.BlobStorage<PK,​D>, io.datarouter.storage.node.op.raw.BlobStorage.BlobStorageNode<PK,​D,​F>, io.datarouter.storage.node.op.raw.BlobStorage.PhysicalBlobStorageNode<PK,​D,​F>, io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK,​D>, io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK,​D>, io.datarouter.storage.node.type.physical.PhysicalNode<PK,​D,​F>, Comparable<io.datarouter.storage.node.Node<PK,​D,​F>>

public class DirectoryBlobStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>,​F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,​D>>
extends io.datarouter.storage.node.type.physical.base.BasePhysicalNode<PK,​D,​F>
implements io.datarouter.storage.node.op.raw.BlobStorage.PhysicalBlobStorageNode<PK,​D,​F>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.BlobStorage

    io.datarouter.storage.node.op.raw.BlobStorage.BlobStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>,​F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,​D>>, io.datarouter.storage.node.op.raw.BlobStorage.PhysicalBlobStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>,​F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,​D>>
  • Constructor Summary

    Constructors 
    Constructor Description
    DirectoryBlobStorageNode​(io.datarouter.storage.node.NodeParams<PK,​D,​F> params, io.datarouter.storage.client.ClientType<?,​?> clientType, DirectoryBlobStorage directoryBlobStorage, String bucket, io.datarouter.storage.util.Subpath rootPath)  
  • Method Summary

    Modifier and Type Method Description
    void delete​(io.datarouter.storage.file.PathbeanKey key)  
    void deleteAll​(io.datarouter.storage.util.Subpath subpath)  
    boolean exists​(io.datarouter.storage.file.PathbeanKey key)  
    String getBucket()  
    io.datarouter.storage.util.Subpath getRootPath()  
    Optional<Long> length​(io.datarouter.storage.file.PathbeanKey key)  
    byte[] read​(io.datarouter.storage.file.PathbeanKey key)  
    byte[] read​(io.datarouter.storage.file.PathbeanKey key, long offset, int length)  
    io.datarouter.scanner.Scanner<List<io.datarouter.storage.file.PathbeanKey>> scanKeysPaged​(io.datarouter.storage.util.Subpath subpath)  
    io.datarouter.scanner.Scanner<List<io.datarouter.storage.file.Pathbean>> scanPaged​(io.datarouter.storage.util.Subpath subpath)  
    void write​(io.datarouter.storage.file.PathbeanKey key, byte[] content)  
    void write​(io.datarouter.storage.file.PathbeanKey key, io.datarouter.scanner.Scanner<byte[]> chunks)  
    void write​(io.datarouter.storage.file.PathbeanKey key, InputStream inputStream)  

    Methods inherited from class io.datarouter.storage.node.type.physical.base.BasePhysicalNode

    getChildNodes, getClientId, getClientIds, getClientType, getFieldInfo, getName, getPhysicalNodes, getPhysicalNodesForClient, toString, usesClient

    Methods inherited from class io.datarouter.storage.node.BaseNode

    compareTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.datarouter.storage.node.op.raw.read.BlobStorageReader

    scan, scanChunks, scanKeys

    Methods inherited from interface java.lang.Comparable

    compareTo

    Methods inherited from interface io.datarouter.storage.node.Node

    getChildNodes, getClientIds, getName, getPhysicalNodes, getPhysicalNodesForClient, usesClient

    Methods inherited from interface io.datarouter.storage.node.type.physical.PhysicalNode

    getClientId, getClientType, getFieldInfo
  • Constructor Details

    • DirectoryBlobStorageNode

      public DirectoryBlobStorageNode​(io.datarouter.storage.node.NodeParams<PK,​D,​F> params, io.datarouter.storage.client.ClientType<?,​?> clientType, DirectoryBlobStorage directoryBlobStorage, String bucket, io.datarouter.storage.util.Subpath rootPath)
  • Method Details

    • getBucket

      public String getBucket()
      Specified by:
      getBucket in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • getRootPath

      public io.datarouter.storage.util.Subpath getRootPath()
      Specified by:
      getRootPath in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • exists

      public boolean exists​(io.datarouter.storage.file.PathbeanKey key)
      Specified by:
      exists in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • length

      public Optional<Long> length​(io.datarouter.storage.file.PathbeanKey key)
      Specified by:
      length in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • read

      public byte[] read​(io.datarouter.storage.file.PathbeanKey key)
      Specified by:
      read in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • read

      public byte[] read​(io.datarouter.storage.file.PathbeanKey key, long offset, int length)
      Specified by:
      read in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • write

      public void write​(io.datarouter.storage.file.PathbeanKey key, byte[] content)
      Specified by:
      write in interface io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • write

      public void write​(io.datarouter.storage.file.PathbeanKey key, io.datarouter.scanner.Scanner<byte[]> chunks)
      Specified by:
      write in interface io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • write

      public void write​(io.datarouter.storage.file.PathbeanKey key, InputStream inputStream)
      Specified by:
      write in interface io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • scanPaged

      public io.datarouter.scanner.Scanner<List<io.datarouter.storage.file.Pathbean>> scanPaged​(io.datarouter.storage.util.Subpath subpath)
      Specified by:
      scanPaged in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • scanKeysPaged

      public io.datarouter.scanner.Scanner<List<io.datarouter.storage.file.PathbeanKey>> scanKeysPaged​(io.datarouter.storage.util.Subpath subpath)
      Specified by:
      scanKeysPaged in interface io.datarouter.storage.node.op.raw.read.BlobStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • delete

      public void delete​(io.datarouter.storage.file.PathbeanKey key)
      Specified by:
      delete in interface io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>
    • deleteAll

      public void deleteAll​(io.datarouter.storage.util.Subpath subpath)
      Specified by:
      deleteAll in interface io.datarouter.storage.node.op.raw.write.BlobStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,​D extends io.datarouter.model.databean.Databean<PK,​D>>