Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.jcr.value.binary.infinispan
Class InfinispanBinaryStore

    java.lang.Object
      org.modeshape.jcr.value.binary.AbstractBinaryStore
          org.modeshape.jcr.value.binary.infinispan.InfinispanBinaryStore

All Implemented Interfaces:
  BinaryStore

    @ThreadSafe
    public class InfinispanBinaryStore

extends AbstractBinaryStore

A `BinaryStore` implementation that uses Infinispan for persisting binary values.

Field Summary
`protected org.infinispan.Cache<String,Metadata>` | `metadataCache`

Fields inherited from class org.modeshape.jcr.value.binary.AbstractBinaryStore
`MEDIUM_BUFFER_SIZE`

Fields inherited from interface org.modeshape.jcr.value.binary.BinaryStore
`DEFAULT_MINIMUM_BINARY_SIZE_IN_BYTES`

Constructor Summary
`InfinispanBinaryStore(org.infinispan.manager.CacheContainer cacheContainer, boolean dedicatedCacheContainer, String metadataCacheName, String blobCacheName)`

Method Summary
`Iterable<BinaryKey>` | `getAllBinaryKeys()` Obtain an iterable implementation containing all of the store's binary keys.
`List<org.infinispan.Cache<?,?>>` | `getCaches()`
`String` | `getExtractedText(BinaryValue binary)` Returns the extracted text of a binary value, or `null` if such text hasn't been stored previously or if the binary value cannot be found in this store.
`InputStream` | `getInputStream(BinaryKey binaryKey)` Get an `InputStream` to the binary content with the supplied key.
`protected String` | `getStoredMimeType(BinaryValue binary)` 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` | `shutdown()`
`void` | `start()` Initialize the store and get ready for use.
`void` | `storeExtractedText(BinaryValue binary, String extractedText)` Stores the extracted text of a binary value into this store.
`protected void` | `storeMimeType(BinaryValue binary, String mimeType)` Stores the given mime-type for a binary value.
`BinaryValue` | `storeValue(InputStream inputStream)` Store the binary value and return the JCR representation.

Methods inherited from class org.modeshape.jcr.value.binary.AbstractBinaryStore
`bestBufferSize, detector, extractors, getMimeType, getMinimumBinarySizeInBytes, getText, setMimeTypeDetector, setMinimumBinarySizeInBytes, setTextExtractors`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### metadataCache

    protected org.infinispan.Cache<String,Metadata> metadataCache

Constructor Detail

### InfinispanBinaryStore

    public InfinispanBinaryStore(org.infinispan.manager.CacheContainer cacheContainer,
                                 boolean dedicatedCacheContainer,
                                 String metadataCacheName,
                                 String blobCacheName)

Parameters:
  `cacheContainer` - cache container which used for cache management
  `dedicatedCacheContainer` - true if the cache container should be started/stopped when store is start or stopped
  `metadataCacheName` - name of the cache used for metadata
  `blobCacheName` - name of the cache used for store of chunked binary values

Method Detail

### start

    public void start()

  Description copied from class: `AbstractBinaryStore`
  Initialize the store and get ready for use.

  Overrides:
    `start` in class `AbstractBinaryStore`

### shutdown

    public void shutdown()

  Overrides:
    `shutdown` in class `AbstractBinaryStore`

### getCaches

    public List<org.infinispan.Cache<?,?>> getCaches()

### storeValue

    public BinaryValue storeValue(InputStream inputStream)
                           throws BinaryStoreException,
                                  SystemFailureException

  Description copied from interface: `BinaryStore`
  Store the binary value and return the JCR representation. Note that if the binary content in the supplied stream is already persisted in the store, the store may simply return the binary value referencing the existing content.

  Parameters:
    `inputStream` - the stream containing the binary content to be stored; may not be null
  Returns:
    the binary value representing the stored binary value; never null
  Throws:
    `BinaryStoreException`
    `SystemFailureException`

### getInputStream

    public InputStream getInputStream(BinaryKey binaryKey)
                               throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  Get an `InputStream` to the binary content with the supplied key.

  Parameters:
    `binaryKey` - the key to the binary content; never null
  Returns:
    the input stream through which the content can be read, `never null`
  Throws:
    `BinaryStoreException` - 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.

### markAsUnused

    public void markAsUnused(Iterable<BinaryKey> keys)
                      throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  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. This method ignores any keys for values not stored within this store.

  Parameters:
    `keys` - the keys for the binary values that are no longer needed
  Throws:
    `BinaryStoreException` - if there is a problem marking any of the supplied binary values as unused

### removeValuesUnusedLongerThan

    public void removeValuesUnusedLongerThan(long minimumAge,
                                             TimeUnit unit)
                                      throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  Remove binary values that have been `unused` for at least the specified amount of time.

  Parameters:
    `minimumAge` - the minimum time that a binary value has been `unused` before it can be removed; must be non-negative
    `unit` - the time unit for the minimum age; may not be null
  Throws:
    `BinaryStoreException` - if there is a problem removing the unused values

### getStoredMimeType

    protected String getStoredMimeType(BinaryValue binary)
                                throws BinaryStoreException

  Description copied from class: `AbstractBinaryStore`
  Returns the stored mime-type of a binary value.

  Overrides:
    `getStoredMimeType` in class `AbstractBinaryStore`
  Parameters:
    `binary` - a `non-null` `BinaryValue`
  Returns:
    either a non-empty `String` if a stored mimetype exists, or `null` if such a value doesn't exist yet.
  Throws:
    `BinaryStoreException` - if there's a problem accessing the binary store

### storeMimeType

    protected void storeMimeType(BinaryValue binary,
                                 String mimeType)
                          throws BinaryStoreException

  Description copied from class: `AbstractBinaryStore`
  Stores the given mime-type for a binary value.

  Overrides:
    `storeMimeType` in class `AbstractBinaryStore`
  Parameters:
    `binary` - a `non-null` `BinaryValue`
    `mimeType` - a non-empty `String`
  Throws:
    `BinaryStoreException` - if there's a problem accessing the binary store

### getExtractedText

    public String getExtractedText(BinaryValue binary)
                            throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  Returns the extracted text of a binary value, or `null` if such text hasn't been stored previously or if the binary value cannot be found in this store.

  Parameters:
    `binary` - a `non-null` `BinaryValue` instance from which the text was extracted
  Returns:
    a `String` representing the extracted text, or `null` if such text hasn't been stored in this store previously.
  Throws:
    `BinaryStoreException` - if anything unexpected happens.

### storeExtractedText

    public void storeExtractedText(BinaryValue binary,
                                   String extractedText)
                            throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  Stores the extracted text of a binary value into this store.

  Parameters:
    `binary` - a `non-null` `BinaryValue` instance from which the text was extracted
    `extractedText` - a `non-null` and `non-blank` string representing the extracted text
  Throws:
    `BinaryStoreException` - if the operation fails or if the extracted text cannot be stored for the given binary value (regardless of the reason)

### getAllBinaryKeys

    public Iterable<BinaryKey> getAllBinaryKeys()
                                         throws BinaryStoreException

  Description copied from interface: `BinaryStore`
  Obtain an iterable implementation containing all of the store's binary keys. The resulting iterator may be lazy, in the sense that it may determine additional `BinaryKey`s only as the iterator is used.

  Returns:
    the iterable set of binary keys; never null
  Throws:
    `BinaryStoreException` - if anything unexpected happens.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.