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

## org.hibernate.cache.spi
Interface RegionFactory

All Superinterfaces:
  Serializable, Service

All Known Subinterfaces:
  RegionFactory

All Known Implementing Classes:
  CachingRegionFactory, EhCacheRegionFactory, InfinispanRegionFactory, JndiInfinispanRegionFactory, NoCachingRegionFactory, SingletonEhCacheRegionFactory

    public interface RegionFactory

extends Service

Contract for building second level cache regions.

Implementors should define a constructor in one of two forms:

- MyRegionFactoryImpl(`Properties`)
- MyRegionFactoryImpl()

Use the first when we need to read config properties prior to `start(Settings, Properties)` being called.

Method Summary
`CollectionRegion` | `buildCollectionRegion(String regionName, Properties properties, CacheDataDescription metadata)` Build a cache region specialized for storing collection data.
`EntityRegion` | `buildEntityRegion(String regionName, Properties properties, CacheDataDescription metadata)` Build a cache region specialized for storing entity data.
`NaturalIdRegion` | `buildNaturalIdRegion(String regionName, Properties properties, CacheDataDescription metadata)` Build a cache region specialized for storing NaturalId to Primary Key mappings.
`QueryResultsRegion` | `buildQueryResultsRegion(String regionName, Properties properties)` Build a cache region specialized for storing query results
`TimestampsRegion` | `buildTimestampsRegion(String regionName, Properties properties)` Build a cache region specialized for storing update-timestamps data.
`AccessType` | `getDefaultAccessType()` Get the default access type for `entity` and `collection` regions.
`boolean` | `isMinimalPutsEnabledByDefault()` By default should we perform "minimal puts" when using this second level cache implementation?
`long` | `nextTimestamp()` Generate a timestamp.
`void` | `start(Settings settings, Properties properties)` Lifecycle callback to perform any necessary initialization of the underlying cache implementation(s).
`void` | `stop()` Lifecycle callback to perform any necessary cleanup of the underlying cache implementation(s).

Method Detail

### start

    void start(Settings settings,
               Properties properties)
               throws CacheException

  Lifecycle callback to perform any necessary initialization of the underlying cache implementation(s). Called exactly once during the construction of a `SessionFactoryImpl`.

  Parameters:
    `settings` - The settings in effect.
    `properties` - The defined cfg properties
  Throws:
    `CacheException` - Indicates problems starting the L2 cache impl; considered as a sign to stop `SessionFactory` building.

### stop

    void stop()

  Lifecycle callback to perform any necessary cleanup of the underlying cache implementation(s). Called exactly once during `SessionFactory.close()`.

### isMinimalPutsEnabledByDefault

    boolean isMinimalPutsEnabledByDefault()

  By default should we perform "minimal puts" when using this second level cache implementation?

  Returns:
    True if "minimal puts" should be performed by default; false otherwise.

### getDefaultAccessType

    AccessType getDefaultAccessType()

  Get the default access type for `entity` and `collection` regions.

  Returns:
    This factory's default access type.

### nextTimestamp

    long nextTimestamp()

  Generate a timestamp.

  This is generally used for cache content locking/unlocking purposes depending upon the access-strategy being used.

  Returns:
    The generated timestamp.

### buildEntityRegion

    EntityRegion buildEntityRegion(String regionName,
                                   Properties properties,
                                   CacheDataDescription metadata)
                                   throws CacheException

  Build a cache region specialized for storing entity data.

  Parameters:
    `regionName` - The name of the region.
    `properties` - Configuration properties.
    `metadata` - Information regarding the type of data to be cached
  Returns:
    The built region
  Throws:
    `CacheException` - Indicates problems building the region.

### buildNaturalIdRegion

    NaturalIdRegion buildNaturalIdRegion(String regionName,
                                         Properties properties,
                                         CacheDataDescription metadata)
                                         throws CacheException

  Build a cache region specialized for storing NaturalId to Primary Key mappings.

  Parameters:
    `regionName` - The name of the region.
    `properties` - Configuration properties.
    `metadata` - Information regarding the type of data to be cached
  Returns:
    The built region
  Throws:
    `CacheException` - Indicates problems building the region.

### buildCollectionRegion

    CollectionRegion buildCollectionRegion(String regionName,
                                           Properties properties,
                                           CacheDataDescription metadata)
                                           throws CacheException

  Build a cache region specialized for storing collection data.

  Parameters:
    `regionName` - The name of the region.
    `properties` - Configuration properties.
    `metadata` - Information regarding the type of data to be cached
  Returns:
    The built region
  Throws:
    `CacheException` - Indicates problems building the region.

### buildQueryResultsRegion

    QueryResultsRegion buildQueryResultsRegion(String regionName,
                                               Properties properties)
                                               throws CacheException

  Build a cache region specialized for storing query results

  Parameters:
    `regionName` - The name of the region.
    `properties` - Configuration properties.
  Returns:
    The built region
  Throws:
    `CacheException` - Indicates problems building the region.

### buildTimestampsRegion

    TimestampsRegion buildTimestampsRegion(String regionName,
                                           Properties properties)
                                           throws CacheException

  Build a cache region specialized for storing update-timestamps data.

  Parameters:
    `regionName` - The name of the region.
    `properties` - Configuration properties.
  Returns:
    The built region
  Throws:
    `CacheException` - Indicates problems building the region.

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

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.