org.mule.util.store
Class PersistentObjectStorePartition<T extends Serializable>

java.lang.Object
  extended by org.mule.util.store.PersistentObjectStorePartition<T>
All Implemented Interfaces:
ExpirableObjectStore<T>, ListableObjectStore<T>, ObjectStore<T>

public class PersistentObjectStorePartition<T extends Serializable>
extends Object
implements ListableObjectStore<T>, ExpirableObjectStore<T>


Nested Class Summary
static class PersistentObjectStorePartition.StoreValue<T>
           
 
Field Summary
protected  Log logger
           
 
Method Summary
 List<Serializable> allKeys()
           
 void clear()
          Removes all items of this store without disposing it, meaning that after performing a clear(), you should still be able perform other operations.
 void close()
          Close the underlying store.
 boolean contains(Serializable key)
          Check whether the given Object is already registered with this store.
protected  void createDirectory(File directory)
           
protected  File createFileToStoreObject()
           
protected  File createOrRetrievePartitionDescriptorFile()
           
protected  void deleteStoreFile(File file)
           
protected  PersistentObjectStorePartition.StoreValue<T> deserialize(File file)
           
 void expire(int entryTTL, int maxEntries)
           
 String getPartitionName()
           
 boolean isPersistent()
          Is this store persistent?
 void open()
          Open the underlying store.
 T remove(Serializable key)
          Remove the object with key.
 T retrieve(Serializable key)
          Retrieve the given Object.
protected  void serialize(File outputFile, PersistentObjectStorePartition.StoreValue<T> storeValue)
           
 void store(Serializable key, T value)
          Store the given Object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Method Detail

open

public void open()
          throws ObjectStoreException
Description copied from interface: ListableObjectStore
Open the underlying store.

Specified by:
open in interface ListableObjectStore<T extends Serializable>
Throws:
ObjectStoreException - if an exception occurred while opening the underlying store.

close

public void close()
           throws ObjectStoreException
Description copied from interface: ListableObjectStore
Close the underlying store.

Specified by:
close in interface ListableObjectStore<T extends Serializable>
Throws:
ObjectStoreException - if an exception occurred while closing the underlying store.

allKeys

public List<Serializable> allKeys()
                           throws ObjectStoreException
Specified by:
allKeys in interface ListableObjectStore<T extends Serializable>
Returns:
list containing all keys that this object store currently holds values for.
Throws:
ObjectStoreException - if an exception occurred while collecting the list of all keys.

contains

public boolean contains(Serializable key)
                 throws ObjectStoreException
Description copied from interface: ObjectStore
Check whether the given Object is already registered with this store.

Specified by:
contains in interface ObjectStore<T extends Serializable>
Parameters:
key - the identifier of the object to check
Returns:
true if the key is stored or false no value was stored for the key.
Throws:
ObjectStoreException - if the given key is null.
ObjectStoreNotAvaliableException - if any implementation-specific error occured, e.g. when the store is not available

store

public void store(Serializable key,
                  T value)
           throws ObjectStoreException
Description copied from interface: ObjectStore
Store the given Object.

Specified by:
store in interface ObjectStore<T extends Serializable>
Parameters:
key - the identifier for value
value - the Object to store with key
Throws:
ObjectStoreException - if the given key cannot be stored or is null.
ObjectStoreNotAvaliableException - if the store is not available or any other implementation-specific error occured.
ObjectAlreadyExistsException - if an attempt is made to store an object for a key that already has an object associated.

clear

public void clear()
           throws ObjectStoreException
Description copied from interface: ObjectStore
Removes all items of this store without disposing it, meaning that after performing a clear(), you should still be able perform other operations. Implementations of this method have to remove all items in the fastest way possible. No assumptions should be made regarding thread safeness. If the store implementation is thread-safe, then this method should also be. If the implementation does not guarantee thread-safeness, then you shouldn't expect that from this method either.

Specified by:
clear in interface ObjectStore<T extends Serializable>
Throws:
ObjectStoreException - if the operation fails

retrieve

public T retrieve(Serializable key)
                                throws ObjectStoreException
Description copied from interface: ObjectStore
Retrieve the given Object.

Specified by:
retrieve in interface ObjectStore<T extends Serializable>
Parameters:
key - the identifier of the object to retrieve.
Returns:
the object associated with the given key. If no object for the given key was found this method throws an ObjectDoesNotExistException.
Throws:
ObjectStoreException - if the given key is null.
ObjectStoreNotAvaliableException - if the store is not available or any other implementation-specific error occured.
ObjectDoesNotExistException - if no value for the given key was previously stored.

remove

public T remove(Serializable key)
                              throws ObjectStoreException
Description copied from interface: ObjectStore
Remove the object with key.

Specified by:
remove in interface ObjectStore<T extends Serializable>
Parameters:
key - the identifier of the object to remove.
Returns:
the object that was previously stored for the given key
Throws:
ObjectStoreException - if the given key is null or if the store is not available or any other implementation-specific error occured
ObjectDoesNotExistException - if no value for the given key was previously stored.

isPersistent

public boolean isPersistent()
Description copied from interface: ObjectStore
Is this store persistent?

Specified by:
isPersistent in interface ObjectStore<T extends Serializable>
Returns:
true if this store is persistent

expire

public void expire(int entryTTL,
                   int maxEntries)
            throws ObjectStoreException
Specified by:
expire in interface ExpirableObjectStore<T extends Serializable>
Throws:
ObjectStoreException

createDirectory

protected void createDirectory(File directory)
                        throws ObjectStoreException
Throws:
ObjectStoreException

createFileToStoreObject

protected File createFileToStoreObject()
                                throws ObjectStoreException
Throws:
ObjectStoreException

createOrRetrievePartitionDescriptorFile

protected File createOrRetrievePartitionDescriptorFile()
                                                throws ObjectStoreException
Throws:
ObjectStoreException

serialize

protected void serialize(File outputFile,
                         PersistentObjectStorePartition.StoreValue<T> storeValue)
                  throws ObjectStoreException
Throws:
ObjectStoreException

deserialize

protected PersistentObjectStorePartition.StoreValue<T> deserialize(File file)
                                                                                 throws ObjectStoreException
Throws:
ObjectStoreException

deleteStoreFile

protected void deleteStoreFile(File file)
                        throws ObjectStoreException
Throws:
ObjectStoreException

getPartitionName

public String getPartitionName()


Copyright © 2003-2014 MuleSoft, Inc.. All Rights Reserved.