Class BlobIdTracker
- java.lang.Object
-
- org.apache.jackrabbit.oak.plugins.blob.datastore.BlobIdTracker
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,BlobTracker
public class BlobIdTracker extends java.lang.Object implements java.io.Closeable, BlobTracker
Tracks the blob ids available or added in the blob store using theBlobIdTracker.BlobIdStore.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBlobIdTracker.ActiveDeletionTrackerTracking any active deletions store for managing the blob reference-
Nested classes/interfaces inherited from interface org.apache.jackrabbit.oak.plugins.blob.datastore.BlobTracker
BlobTracker.Options
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.io.File recs)Adds the ids in the given file.voidadd(java.lang.String id)Adds the given id.voidadd(java.util.Iterator<java.lang.String> recs)Adds the given ids.static BlobIdTrackerbuild(java.lang.String path, java.lang.String repositoryId, long snapshotIntervalSecs, SharedDataStore datastore)voidclose()Closes the tracker and the underlying store.java.util.Iterator<java.lang.String>get()Retrieves all the reference files available in the DataStore and merges them to the local store and then returns an iterator over it.java.io.Fileget(java.lang.String path)Fetches a File object which having all the sorted records.BlobIdTracker.ActiveDeletionTrackergetDeleteTracker()voidremove(java.io.File recs)Remove the ids in the given file and deletes the file.voidremove(java.io.File recs, BlobTracker.Options options)Remove the ids in the given file and deletes the file.voidremove(java.util.Iterator<java.lang.String> recs)Remove the given ids.
-
-
-
Method Detail
-
build
public static BlobIdTracker build(java.lang.String path, java.lang.String repositoryId, long snapshotIntervalSecs, SharedDataStore datastore) throws java.io.IOException
- Throws:
java.io.IOException
-
getDeleteTracker
public BlobIdTracker.ActiveDeletionTracker getDeleteTracker()
-
remove
public void remove(java.io.File recs, BlobTracker.Options options) throws java.io.IOExceptionDescription copied from interface:BlobTrackerRemove the ids in the given file and deletes the file.- Specified by:
removein interfaceBlobTracker- Throws:
java.io.IOException
-
remove
public void remove(java.io.File recs) throws java.io.IOExceptionDescription copied from interface:BlobTrackerRemove the ids in the given file and deletes the file.- Specified by:
removein interfaceBlobTracker- Throws:
java.io.IOException
-
remove
public void remove(java.util.Iterator<java.lang.String> recs) throws java.io.IOExceptionDescription copied from interface:BlobTrackerRemove the given ids.- Specified by:
removein interfaceBlobTracker- Throws:
java.io.IOException
-
add
public void add(java.lang.String id) throws java.io.IOExceptionDescription copied from interface:BlobTrackerAdds the given id.- Specified by:
addin interfaceBlobTracker- Parameters:
id- the record id to be tracked- Throws:
java.io.IOException
-
add
public void add(java.util.Iterator<java.lang.String> recs) throws java.io.IOExceptionDescription copied from interface:BlobTrackerAdds the given ids.- Specified by:
addin interfaceBlobTracker- Throws:
java.io.IOException
-
add
public void add(java.io.File recs) throws java.io.IOExceptionDescription copied from interface:BlobTrackerAdds the ids in the given file.- Specified by:
addin interfaceBlobTracker- Throws:
java.io.IOException
-
get
public java.util.Iterator<java.lang.String> get() throws java.io.IOExceptionRetrieves all the reference files available in the DataStore and merges them to the local store and then returns an iterator over it. This way the ids returned are as recent as the snapshots taken on all instances/repositories connected to the DataStore.The iterator returned ia a Closeable instance and should be closed by calling #close().
- Specified by:
getin interfaceBlobTracker- Returns:
- iterator over all the blob ids available
- Throws:
java.io.IOException
-
get
public java.io.File get(java.lang.String path) throws java.io.IOExceptionDescription copied from interface:BlobTrackerFetches a File object which having all the sorted records. The lifecycle of the returnedFilehandle is the responsibility of the handler.- Specified by:
getin interfaceBlobTracker- Returns:
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptionCloses the tracker and the underlying store.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-