public class DataStoreBlobStore extends Object implements org.apache.jackrabbit.core.data.DataStore, org.apache.jackrabbit.oak.spi.blob.BlobStore, org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore, BlobTrackingStore, TypedDataStore, org.apache.jackrabbit.oak.api.blob.BlobAccessProvider
DataStore.getMinRecordLength()| Modifier and Type | Class and Description |
|---|---|
static class |
DataStoreBlobStore.BlobId |
SharedDataStore.Type| Modifier and Type | Field and Description |
|---|---|
protected com.google.common.cache.LoadingCache<String,byte[]> |
cache |
static int |
DEFAULT_CACHE_SIZE |
protected org.apache.jackrabbit.core.data.DataStore |
delegate |
static String |
MEM_CACHE_NAME |
protected org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector |
stats |
| Constructor and Description |
|---|
DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate) |
DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate,
boolean encodeLengthInId) |
DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate,
boolean encodeLengthInId,
int cacheSizeInMB) |
| Modifier and Type | Method and Description |
|---|---|
void |
addMetadataRecord(File f,
String name)
Adds the root record.
|
void |
addMetadataRecord(InputStream stream,
String name)
Adds the root record.
|
org.apache.jackrabbit.core.data.DataRecord |
addRecord(InputStream stream) |
org.apache.jackrabbit.core.data.DataRecord |
addRecord(InputStream input,
org.apache.jackrabbit.oak.spi.blob.BlobOptions options)
Add a record with specified options.
|
void |
addTracker(BlobTracker tracker)
Registers a tracker in the data store.
|
void |
clearCache() |
void |
clearInUse() |
void |
close() |
@Nullable org.apache.jackrabbit.oak.api.Blob |
completeBlobUpload(@NotNull String uploadToken) |
long |
countDeleteChunks(List<String> chunkIds,
long maxLastModifiedTime) |
void |
deleteAllMetadataRecords(String prefix)
Deletes all records matching the given prefix.
|
int |
deleteAllOlderThan(long min) |
boolean |
deleteChunks(List<String> chunkIds,
long maxLastModifiedTime) |
boolean |
deleteMetadataRecord(String name)
Deletes the root record represented by the given parameters.
|
protected String |
extractBlobId(String encodedBlobId) |
Iterator<String> |
getAllChunkIds(long maxLastModifiedTime) |
Iterator<org.apache.jackrabbit.core.data.DataIdentifier> |
getAllIdentifiers() |
List<org.apache.jackrabbit.core.data.DataRecord> |
getAllMetadataRecords(String prefix)
Gets the all root records.
|
Iterator<org.apache.jackrabbit.core.data.DataRecord> |
getAllRecords()
Retrieved an iterator over all DataRecords.
|
String |
getBlobId(@NotNull String reference) |
long |
getBlobLength(String encodedBlobId) |
long |
getBlockSizeMin() |
org.apache.jackrabbit.oak.cache.CacheStats |
getCacheStats() |
protected org.apache.jackrabbit.core.data.DataRecord |
getDataRecord(String blobId) |
org.apache.jackrabbit.core.data.DataStore |
getDataStore() |
@Nullable URI |
getDownloadURI(@NotNull org.apache.jackrabbit.oak.api.Blob blob,
@NotNull org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions downloadOptions) |
InputStream |
getInputStream(String encodedBlobId) |
org.apache.jackrabbit.core.data.DataRecord |
getMetadataRecord(String name)
Retrieves the metadata record with the given name
|
int |
getMinRecordLength() |
org.apache.jackrabbit.core.data.DataRecord |
getRecord(org.apache.jackrabbit.core.data.DataIdentifier identifier) |
org.apache.jackrabbit.core.data.DataRecord |
getRecordForId(org.apache.jackrabbit.core.data.DataIdentifier identifier)
Retrieves the record for the given identifier
|
org.apache.jackrabbit.core.data.DataRecord |
getRecordFromReference(String reference) |
org.apache.jackrabbit.core.data.DataRecord |
getRecordIfStored(org.apache.jackrabbit.core.data.DataIdentifier identifier) |
String |
getReference(@NotNull String encodedBlobId) |
protected InputStream |
getStream(String blobId) |
@Nullable BlobTracker |
getTracker()
Gets the traker registered in the data store.
|
SharedDataStore.Type |
getType()
Gets the type.
|
void |
init(String homeDir) |
@Nullable org.apache.jackrabbit.oak.api.blob.BlobUpload |
initiateBlobUpload(long maxUploadSizeInBytes,
int maxNumberOfURIs) |
int |
readBlob(String encodedBlobId,
long pos,
byte[] buff,
int off,
int length) |
Iterator<String> |
resolveChunks(String blobId) |
void |
setBlobStatsCollector(org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector stats) |
void |
setBlockSize(int x) |
void |
setMaxCachedBinarySize(int maxCachedBinarySize) |
void |
startMark() |
int |
sweep() |
String |
toString() |
void |
updateModifiedDateOnAccess(long before) |
String |
writeBlob(InputStream stream) |
String |
writeBlob(InputStream stream,
org.apache.jackrabbit.oak.spi.blob.BlobOptions options) |
String |
writeBlob(String tempFileName) |
protected final org.apache.jackrabbit.core.data.DataStore delegate
protected org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector stats
protected final com.google.common.cache.LoadingCache<String,byte[]> cache
public static final int DEFAULT_CACHE_SIZE
public static final String MEM_CACHE_NAME
public DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate)
public DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate,
boolean encodeLengthInId)
public DataStoreBlobStore(org.apache.jackrabbit.core.data.DataStore delegate,
boolean encodeLengthInId,
int cacheSizeInMB)
public org.apache.jackrabbit.core.data.DataRecord getRecordIfStored(org.apache.jackrabbit.core.data.DataIdentifier identifier)
throws org.apache.jackrabbit.core.data.DataStoreException
getRecordIfStored in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic org.apache.jackrabbit.core.data.DataRecord getRecord(org.apache.jackrabbit.core.data.DataIdentifier identifier)
throws org.apache.jackrabbit.core.data.DataStoreException
getRecord in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic org.apache.jackrabbit.core.data.DataRecord getRecordFromReference(String reference) throws org.apache.jackrabbit.core.data.DataStoreException
getRecordFromReference in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic org.apache.jackrabbit.core.data.DataRecord addRecord(InputStream stream) throws org.apache.jackrabbit.core.data.DataStoreException
addRecord in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic void updateModifiedDateOnAccess(long before)
updateModifiedDateOnAccess in interface org.apache.jackrabbit.core.data.DataStorepublic int deleteAllOlderThan(long min)
throws org.apache.jackrabbit.core.data.DataStoreException
deleteAllOlderThan in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic Iterator<org.apache.jackrabbit.core.data.DataIdentifier> getAllIdentifiers() throws org.apache.jackrabbit.core.data.DataStoreException
getAllIdentifiers in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic void init(String homeDir) throws javax.jcr.RepositoryException
init in interface org.apache.jackrabbit.core.data.DataStorejavax.jcr.RepositoryExceptionpublic int getMinRecordLength()
getMinRecordLength in interface org.apache.jackrabbit.core.data.DataStorepublic void close()
throws org.apache.jackrabbit.core.data.DataStoreException
close in interface org.apache.jackrabbit.core.data.DataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic String writeBlob(InputStream stream) throws IOException
writeBlob in interface org.apache.jackrabbit.oak.spi.blob.BlobStoreIOExceptionpublic String writeBlob(InputStream stream, org.apache.jackrabbit.oak.spi.blob.BlobOptions options) throws IOException
writeBlob in interface org.apache.jackrabbit.oak.spi.blob.BlobStoreIOExceptionpublic int readBlob(String encodedBlobId, long pos, byte[] buff, int off, int length) throws IOException
readBlob in interface org.apache.jackrabbit.oak.spi.blob.BlobStoreIOExceptionpublic long getBlobLength(String encodedBlobId) throws IOException
getBlobLength in interface org.apache.jackrabbit.oak.spi.blob.BlobStoreIOExceptionpublic String getBlobId(@NotNull @NotNull String reference)
getBlobId in interface org.apache.jackrabbit.oak.spi.blob.BlobStorepublic String getReference(@NotNull @NotNull String encodedBlobId)
getReference in interface org.apache.jackrabbit.oak.spi.blob.BlobStorepublic InputStream getInputStream(String encodedBlobId) throws IOException
getInputStream in interface org.apache.jackrabbit.oak.spi.blob.BlobStoreIOExceptionpublic void setBlockSize(int x)
setBlockSize in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStorepublic String writeBlob(String tempFileName) throws IOException
writeBlob in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreIOExceptionpublic int sweep()
throws IOException
sweep in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreIOExceptionpublic void startMark()
throws IOException
startMark in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreIOExceptionpublic void clearInUse()
clearInUse in interface org.apache.jackrabbit.core.data.DataStoreclearInUse in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStorepublic void clearCache()
clearCache in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStorepublic long getBlockSizeMin()
getBlockSizeMin in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStorepublic Iterator<String> getAllChunkIds(long maxLastModifiedTime) throws Exception
getAllChunkIds in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreExceptionpublic boolean deleteChunks(List<String> chunkIds, long maxLastModifiedTime) throws Exception
deleteChunks in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreExceptionpublic long countDeleteChunks(List<String> chunkIds, long maxLastModifiedTime) throws Exception
countDeleteChunks in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreExceptionpublic Iterator<String> resolveChunks(String blobId) throws IOException
resolveChunks in interface org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStoreIOExceptionpublic void addMetadataRecord(InputStream stream, String name) throws org.apache.jackrabbit.core.data.DataStoreException
SharedDataStoreaddMetadataRecord in interface SharedDataStorestream - the streamname - the name of the root recordorg.apache.jackrabbit.core.data.DataStoreException - the data store exceptionpublic void addMetadataRecord(File f, String name) throws org.apache.jackrabbit.core.data.DataStoreException
SharedDataStoreaddMetadataRecord in interface SharedDataStoref - the filename - the name of the root recordorg.apache.jackrabbit.core.data.DataStoreException - the data store exceptionpublic org.apache.jackrabbit.core.data.DataRecord getMetadataRecord(String name)
SharedDataStoregetMetadataRecord in interface SharedDataStorename - the name of the recordpublic List<org.apache.jackrabbit.core.data.DataRecord> getAllMetadataRecords(String prefix)
SharedDataStoregetAllMetadataRecords in interface SharedDataStorepublic boolean deleteMetadataRecord(String name)
SharedDataStoredeleteMetadataRecord in interface SharedDataStorename - the name of the root recordpublic void deleteAllMetadataRecords(String prefix)
SharedDataStoredeleteAllMetadataRecords in interface SharedDataStoreprefix - metadata type identifierpublic Iterator<org.apache.jackrabbit.core.data.DataRecord> getAllRecords() throws org.apache.jackrabbit.core.data.DataStoreException
SharedDataStoregetAllRecords in interface SharedDataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic org.apache.jackrabbit.core.data.DataRecord getRecordForId(org.apache.jackrabbit.core.data.DataIdentifier identifier)
throws org.apache.jackrabbit.core.data.DataStoreException
SharedDataStoregetRecordForId in interface SharedDataStoreidentifier - the if of the recordorg.apache.jackrabbit.core.data.DataStoreExceptionpublic SharedDataStore.Type getType()
SharedDataStoregetType in interface SharedDataStorepublic org.apache.jackrabbit.core.data.DataRecord addRecord(InputStream input, org.apache.jackrabbit.oak.spi.blob.BlobOptions options) throws org.apache.jackrabbit.core.data.DataStoreException
TypedDataStoreaddRecord in interface TypedDataStoreorg.apache.jackrabbit.core.data.DataStoreExceptionpublic org.apache.jackrabbit.core.data.DataStore getDataStore()
public org.apache.jackrabbit.oak.cache.CacheStats getCacheStats()
public void setMaxCachedBinarySize(int maxCachedBinarySize)
public void setBlobStatsCollector(org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector stats)
public void addTracker(BlobTracker tracker)
BlobTrackingStoreaddTracker in interface BlobTrackingStore@Nullable public @Nullable BlobTracker getTracker()
BlobTrackingStoregetTracker in interface BlobTrackingStoreprotected InputStream getStream(String blobId) throws IOException
IOExceptionprotected org.apache.jackrabbit.core.data.DataRecord getDataRecord(String blobId) throws org.apache.jackrabbit.core.data.DataStoreException
org.apache.jackrabbit.core.data.DataStoreException@Nullable
public @Nullable org.apache.jackrabbit.oak.api.blob.BlobUpload initiateBlobUpload(long maxUploadSizeInBytes,
int maxNumberOfURIs)
throws IllegalArgumentException
initiateBlobUpload in interface org.apache.jackrabbit.oak.api.blob.BlobAccessProviderIllegalArgumentException@Nullable
public @Nullable org.apache.jackrabbit.oak.api.Blob completeBlobUpload(@NotNull
@NotNull String uploadToken)
throws IllegalArgumentException
completeBlobUpload in interface org.apache.jackrabbit.oak.api.blob.BlobAccessProviderIllegalArgumentException@Nullable public @Nullable URI getDownloadURI(@NotNull @NotNull org.apache.jackrabbit.oak.api.Blob blob, @NotNull @NotNull org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions downloadOptions)
getDownloadURI in interface org.apache.jackrabbit.oak.api.blob.BlobAccessProviderCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.