public class MongodbBinaryStore extends AbstractBinaryStore
BinaryStore implementation that uses a MongoDB for persisting binary values.| Modifier and Type | Field and Description |
|---|---|
protected int |
chunkSize |
protected static BasicDBObject |
DATA_CHUNK |
protected static BasicDBObject |
HEADER |
logger, MEDIUM_BUFFER_SIZE| Constructor and Description |
|---|
MongodbBinaryStore() |
MongodbBinaryStore(String host,
int port,
String database)
Creates a new instance of the store, using a single MongoDB.
|
MongodbBinaryStore(String database,
Set<String> replicaSet)
Creates new store.
|
MongodbBinaryStore(String database,
String username,
String password,
Set<String> replicaSet)
Creates new store.
|
| Modifier and Type | Method and Description |
|---|---|
Iterable<BinaryKey> |
getAllBinaryKeys()
Obtain an iterable implementation containing all of the store's binary keys.
|
int |
getChunkSize()
Gets the size of the chunk used to store content.
|
String |
getExtractedText(BinaryValue source)
Returns the extracted text of a binary value, or
null if such text hasn't been stored previously (but the binary
value can be found in the store) |
InputStream |
getInputStream(BinaryKey key)
Get an
InputStream to the binary content with the supplied key. |
protected String |
getStoredMimeType(BinaryValue source)
Returns the stored mime-type of a binary value.
|
void |
markAsUnused(Iterable<BinaryKey> keys)
Mark the supplied binary keys as unused, but key them in quarantine until needed again (at which point they're removed from
quarantine) or until
BinaryStore.removeValuesUnusedLongerThan(long, TimeUnit) is called. |
void |
removeValuesUnusedLongerThan(long minimumAge,
TimeUnit unit)
Remove binary values that have been
unused for at least the specified amount of time. |
void |
setChunkSize(int chunkSize)
Modifies chunk size used to store content.
|
void |
start()
Initialize the store and get ready for use.
|
void |
storeExtractedText(BinaryValue source,
String extractedText)
Stores the extracted text of a binary value into this store.
|
protected void |
storeMimeType(BinaryValue source,
String mimeType)
Stores the given mime-type for a binary value.
|
BinaryValue |
storeValue(InputStream stream)
Store the binary value and return the JCR representation.
|
bestBufferSize, detector, extractors, getMimeType, getMinimumBinarySizeInBytes, getText, hasBinary, setMimeTypeDetector, setMinimumBinarySizeInBytes, setTextExtractors, shutdown, storeValueprotected static final BasicDBObject HEADER
protected static final BasicDBObject DATA_CHUNK
protected int chunkSize
public MongodbBinaryStore()
public MongodbBinaryStore(String database, Set<String> replicaSet)
database - database namereplicaSet - list of server addresses in the form 'host:port' or null for localhostpublic MongodbBinaryStore(String database, String username, String password, Set<String> replicaSet)
database - database nameusername - database userpassword - user's passwordreplicaSet - list of server addresses in the form 'host:port' or null for localhostpublic int getChunkSize()
public void setChunkSize(int chunkSize)
chunkSize - chunk size in bytes.public BinaryValue storeValue(InputStream stream) throws BinaryStoreException
BinaryStorestream - the stream containing the binary content to be stored; may not be nullBinaryStoreException - if there any unexpected problempublic InputStream getInputStream(BinaryKey key) throws BinaryStoreException
BinaryStoreInputStream to the binary content with the supplied key.key - the key to the binary content; never nullnever nullBinaryStoreException - if there is a problem reading the content from the store or if a valid, non-null
InputStream cannot be returned for the given key.public void markAsUnused(Iterable<BinaryKey> keys)
BinaryStoreBinaryStore.removeValuesUnusedLongerThan(long, TimeUnit) is called. This method ignores any keys for
values not stored within this store.keys - the keys for the binary values that are no longer neededpublic void removeValuesUnusedLongerThan(long minimumAge,
TimeUnit unit)
BinaryStoreunused for at least the specified amount of time.minimumAge - the minimum time that a binary value has been unused before it can be
removed; must be non-negativeunit - the time unit for the minimum age; may not be nullprotected void storeMimeType(BinaryValue source, String mimeType) throws BinaryStoreException
AbstractBinaryStorestoreMimeType in class AbstractBinaryStoresource - a non-null BinaryValuemimeType - a non-empty StringBinaryStoreException - if there's a problem accessing the binary storeprotected String getStoredMimeType(BinaryValue source) throws BinaryStoreException
AbstractBinaryStoregetStoredMimeType in class AbstractBinaryStoresource - a non-null BinaryValueString if a stored mimetype exists, or null if such a value doesn't exist yet.BinaryStoreException - if there's a problem accessing the binary store or if the binary value cannot be found in the
storepublic void storeExtractedText(BinaryValue source, String extractedText) throws BinaryStoreException
AbstractBinaryStorestoreExtractedText in class AbstractBinaryStoresource - a non-null BinaryValue instance from which the text was extractedextractedText - a non-null and non-blank string representing the extracted textBinaryStoreException - if the operation fails or if the extracted text cannot be stored for the given binary value
(regardless of the reason)public String getExtractedText(BinaryValue source) throws BinaryStoreException
AbstractBinaryStorenull if such text hasn't been stored previously (but the binary
value can be found in the store)getExtractedText in class AbstractBinaryStoresource - a non-null BinaryValue instance from which the text was extractedString representing the extracted text, or null if such text hasn't been stored in this store
previously.BinaryStoreException - if the binary value cannot be found in the store.public Iterable<BinaryKey> getAllBinaryKeys()
BinaryStoreBinaryKeys only as the iterator is used.public void start()
BinaryStorestart in interface BinaryStorestart in class AbstractBinaryStoreCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.