View Javadoc

1   /*
2    * $Id: DefaultObjectStoreFactoryBean.java 23221 2011-10-19 16:51:02Z mike.schilling $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.util.store;
11  
12  import org.mule.api.store.ObjectStore;
13  
14  import java.io.Serializable;
15  
16  /**
17   * Manage the creation of the default Mule object stores.
18   */
19  public class DefaultObjectStoreFactoryBean
20  {
21      private static DefaultObjectStoreFactory delegate;
22  
23      /**
24       * Do not instantiate
25       */
26      private DefaultObjectStoreFactoryBean()
27      {
28      }
29  
30      /**
31       * Set a delegate to create the object stores in a non-default way
32       */
33      public static void setDelegate(DefaultObjectStoreFactory theDelegate)
34      {
35          delegate = theDelegate;
36      }
37  
38      public static ObjectStore<Serializable> createDefaultInMemoryObjectStore()
39      {
40          ObjectStore<Serializable> store;
41          if (delegate != null)
42          {
43              return delegate.createDefaultInMemoryObjectStore();
44          }
45          return new SimpleMemoryObjectStore<Serializable>();
46      }
47  
48      public static ObjectStore<Serializable> createDefaultPersistentObjectStore()
49      {
50          if (delegate != null)
51          {
52              return delegate.createDefaultPersistentObjectStore();
53          }
54          return new QueuePersistenceObjectStore<Serializable>();
55      }
56  }