Package org.nuxeo.ecm.core.blob.scroll
Class AbstractBlobScroll<T extends BlobStoreBlobProvider>
java.lang.Object
org.nuxeo.ecm.core.blob.scroll.AbstractBlobScroll<T>
- All Implemented Interfaces:
AutoCloseable
,Iterator<List<String>>
,Scroll
- Direct Known Subclasses:
AzureBlobScroll
,GoogleStorageBlobScroll
,GridFSBlobScroll
,InMemoryBlobScroll
,LocalBlobScroll
,S3BlobScroll
public abstract class AbstractBlobScroll<T extends BlobStoreBlobProvider>
extends Object
implements Scroll
Abstract class to scroll blobs from a blob provider, the scroll query is the provider id.
- Since:
- 2023
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected KeyStrategy
protected String
protected int
protected static final String
protected long
protected long
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Adds the blob key to the list if it is valid (e.g. looks like a digest if the provider has digest strategy).void
close()
static String
getBlobKey
(String id) static Long
getBlobSize
(String id) void
init
(ScrollRequest request, Map<String, String> options) Initialization of the iterator.protected abstract void
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
Field Details
-
SIZE_DELIMITER
- See Also:
-
isKeyPrefixed
protected boolean isKeyPrefixed -
keyStrategy
-
providerId
-
size
protected int size -
totalBlobCount
protected long totalBlobCount -
totalBlobSizeCount
protected long totalBlobSizeCount
-
-
Constructor Details
-
AbstractBlobScroll
public AbstractBlobScroll()
-
-
Method Details
-
init
Description copied from interface:Scroll
Initialization of the iterator. -
addTo
Adds the blob key to the list if it is valid (e.g. looks like a digest if the provider has digest strategy).The key added to the list will be prefixed with the provider id if it has to be.
The key added to the list will be suffixed with the size of the associated blob with the
SIZE_DELIMITER
separator.- Parameters:
list
- the list to bekey
- the blob keygetSize
- supplier to sum the total size- Returns:
- true if the key was added to the list
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceScroll
-
init
-
getBlobKey
-
getBlobSize
-