public class LuceneIndexFactoryBean extends Object implements FactoryBean<org.apache.geode.cache.lucene.LuceneIndex>, BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean
FactoryBean
used to construct Lucene Indexes
on application domain object fields.BeanNameAware
,
DisposableBean
,
FactoryBean
,
InitializingBean
,
GemFireCache
,
Region
,
LuceneIndex
,
LuceneService
,
LuceneServiceProvider
Modifier and Type | Field and Description |
---|---|
protected static boolean |
DEFAULT_DESTROY |
Constructor and Description |
---|
LuceneIndexFactoryBean() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected org.apache.geode.cache.lucene.LuceneIndex |
createIndex(String indexName,
String regionPath)
Creates a
LuceneIndex with the given indexName on the GemFireCache Region
identified by the given regionPath . |
void |
destroy() |
protected BeanFactory |
getBeanFactory()
Returns a reference to the containing Spring
BeanFactory if set. |
protected org.apache.geode.cache.GemFireCache |
getCache()
Returns a reference to the
GemFireCache . |
protected Map<String,org.apache.lucene.analysis.Analyzer> |
getFieldAnalyzers()
Returns a
Map of application domain object field names to Analyzers used in
the construction of the Lucene Indexes for each field. |
protected List<String> |
getFields()
Returns a
List of application domain object fields to be indexed. |
protected String |
getIndexName()
Returns the name of the
LuceneIndex as identified in the GemFireCache . |
protected org.apache.geode.cache.lucene.LuceneService |
getLuceneService()
|
org.apache.geode.cache.lucene.LuceneIndex |
getObject() |
Class<?> |
getObjectType() |
protected org.apache.geode.cache.Region<?,?> |
getRegion()
Returns a reference to the
GemFireCache Region on which the LuceneIndex will be created. |
protected String |
getRegionPath()
Returns the fully-qualified pathname to the
GemFireCache Region on which the LuceneIndex
will be created. |
protected boolean |
isDestroy()
Determines whether the
LuceneIndex will be destroyed on shutdown. |
protected boolean |
isLuceneIndexDestroyable(org.apache.geode.cache.lucene.LuceneIndex luceneIndex)
Determine whether the given
LuceneIndex created by this FactoryBean is destroyable. |
boolean |
isSingleton() |
protected org.apache.geode.cache.GemFireCache |
resolveCache()
Resolves a reference to the
GemFireCache . |
protected List<String> |
resolveFields(List<String> fields)
Resolves the
List of fields on the object to index. |
protected org.apache.geode.cache.lucene.LuceneService |
resolveLuceneService()
|
protected org.apache.geode.cache.lucene.LuceneService |
resolveLuceneService(org.apache.geode.cache.GemFireCache gemfireCache)
|
protected org.apache.geode.cache.Region<?,?> |
resolveRegion()
Attempts to resolve the
GemFireCache Region on which the LuceneIndex will be created. |
protected String |
resolveRegionPath()
Resolves the fully-qualified pathname of the
GemFireCache Region on which the LuceneIndex
will be created. |
void |
setBeanFactory(BeanFactory beanFactory) |
void |
setBeanName(String name) |
void |
setCache(org.apache.geode.cache.GemFireCache gemfireCache)
Sets a reference to the
GemFireCache . |
void |
setDestroy(boolean destroy)
Sets whether to destroy the
LuceneIndex on shutdown. |
void |
setFieldAnalyzers(Map<String,org.apache.lucene.analysis.Analyzer> fieldAnalyzers)
Set a
Map of application domain object field names to Analyzers used in the construction
of the Lucene Indexes for each field. |
void |
setFields(List<String> fields)
Sets the application domain object fields to index.
|
void |
setFields(String... fields)
Sets the application domain object fields to index.
|
void |
setIndexName(String indexName)
Sets the name of the
LuceneIndex as identified in the GemFireCache . |
protected LuceneIndexFactoryBean |
setLuceneIndex(org.apache.geode.cache.lucene.LuceneIndex luceneIndex)
Sets the
LuceneIndex as the index created by this FactoryBean . |
void |
setLuceneService(org.apache.geode.cache.lucene.LuceneService luceneService)
|
void |
setRegion(org.apache.geode.cache.Region<?,?> region)
Sets a reference to the
GemFireCache Region on which the LuceneIndex will be created. |
void |
setRegionPath(String pathname)
Sets the fully-qualified pathname to the
GemFireCache Region on which the LuceneIndex
will be created. |
protected static final boolean DEFAULT_DESTROY
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
protected org.apache.geode.cache.lucene.LuceneIndex createIndex(String indexName, String regionPath)
LuceneIndex
with the given indexName
on the GemFireCache
Region
identified by the given regionPath
.indexName
- String
containing the name for the LuceneIndex
.regionPath
- String
containing the fully-qualified pathname to
the GemFireCache
Region
.LuceneIndex
with the given indexName
on the named Region
.LuceneService.createIndex(String, String, Map)
,
LuceneService.createIndex(String, String, String...)
,
LuceneService.getIndex(String, String)
,
resolveLuceneService()
,
getFieldAnalyzers()
,
getFields()
,
resolveFields(List)
public void destroy() throws Exception
destroy
in interface DisposableBean
Exception
protected boolean isLuceneIndexDestroyable(org.apache.geode.cache.lucene.LuceneIndex luceneIndex)
LuceneIndex
created by this FactoryBean
is destroyable.luceneIndex
- LuceneIndex
subject to destruction.LuceneIndex
created by this FactoryBean
is destroyable.LuceneIndex
,
isDestroy()
public org.apache.geode.cache.lucene.LuceneIndex getObject() throws Exception
getObject
in interface FactoryBean<org.apache.geode.cache.lucene.LuceneIndex>
Exception
public Class<?> getObjectType()
getObjectType
in interface FactoryBean<org.apache.geode.cache.lucene.LuceneIndex>
public boolean isSingleton()
isSingleton
in interface FactoryBean<org.apache.geode.cache.lucene.LuceneIndex>
protected org.apache.geode.cache.GemFireCache resolveCache()
GemFireCache
.GemFireCache
.CacheUtils.resolveGemFireCache()
,
GemFireCache
,
getCache()
protected List<String> resolveFields(List<String> fields)
List
of fields on the object to index.protected org.apache.geode.cache.lucene.LuceneService resolveLuceneService()
GemFireCache
, LuceneService
.BeanFactory.getBean(Class)
,
LuceneService
,
getBeanFactory()
,
getLuceneService()
,
resolveCache()
,
resolveLuceneService(GemFireCache)
protected org.apache.geode.cache.lucene.LuceneService resolveLuceneService(org.apache.geode.cache.GemFireCache gemfireCache)
gemfireCache
- GemFireCache
used to resolve the LuceneService
.GemFireCache
LuceneService
.IllegalArgumentException
- if GemFireCache
is null.LuceneService
,
GemFireCache
protected org.apache.geode.cache.Region<?,?> resolveRegion()
GemFireCache
Region
on which the LuceneIndex
will be created.GemFireCache
Region
on which he LuceneIndex
will be created.
Returns null if the Region
cannot be resolved.RegionService.getRegion(String)
,
Region
,
resolveCache()
,
getRegionPath()
protected String resolveRegionPath()
GemFireCache
Region
on which the LuceneIndex
will be created.String
containing the fully-qualified pathname of the GemFireCache
Region
on which the LuceneIndex
will be created.IllegalStateException
- if the Region
pathname could not resolved.resolveRegion()
,
getRegionPath()
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
setBeanFactory
in interface BeanFactoryAware
BeansException
protected BeanFactory getBeanFactory()
BeanFactory
if set.BeanFactory
if set.BeanFactory
public void setBeanName(String name)
setBeanName
in interface BeanNameAware
public void setCache(org.apache.geode.cache.GemFireCache gemfireCache)
GemFireCache
.gemfireCache
- GemFireCache
reference.GemFireCache
protected org.apache.geode.cache.GemFireCache getCache()
GemFireCache
.GemFireCache
.GemFireCache
,
resolveCache()
public void setDestroy(boolean destroy)
LuceneIndex
on shutdown.destroy
- boolean value indicating whether to destroy the LuceneIndex
on shutdown.protected boolean isDestroy()
LuceneIndex
will be destroyed on shutdown.LuceneIndex
will be destroyed on shutdown.DisposableBean.destroy()
public void setFieldAnalyzers(Map<String,org.apache.lucene.analysis.Analyzer> fieldAnalyzers)
Map
of application domain object field names to Analyzers
used in the construction
of the Lucene Indexes
for each field.protected Map<String,org.apache.lucene.analysis.Analyzer> getFieldAnalyzers()
Map
of application domain object field names to Analyzers
used in
the construction of the Lucene Indexes
for each field.Map
of fields names to Analyzers
.Analyzer
,
Map
,
getFields()
public void setFields(String... fields)
fields
- array of Strings
containing the names of the object fields ot index.setFields(List)
public void setFields(List<String> fields)
protected List<String> getFields()
List
of application domain object fields to be indexed.List
of application domain object fields to be indexed.getFieldAnalyzers()
,
List
public void setIndexName(String indexName)
LuceneIndex
as identified in the GemFireCache
.indexName
- String
containing the name of the LuceneIndex
.setBeanName(String)
protected String getIndexName()
LuceneIndex
as identified in the GemFireCache
.String
containing the name of the LuceneIndex
.IllegalStateException
- if the indexName
was not specified.protected LuceneIndexFactoryBean setLuceneIndex(org.apache.geode.cache.lucene.LuceneIndex luceneIndex)
LuceneIndex
as the index created by this FactoryBean
.
This method is for testing purposes only!luceneIndex
- LuceneIndex
created by this FactoryBean
.LuceneIndexFactoryBean
.LuceneIndexFactoryBean
,
LuceneIndex
public void setLuceneService(org.apache.geode.cache.lucene.LuceneService luceneService)
luceneService
- LuceneService
used to create the LuceneIndex
.LuceneService
protected org.apache.geode.cache.lucene.LuceneService getLuceneService()
LuceneService
used to create the LuceneIndex
.LuceneService
,
resolveLuceneService()
public void setRegion(org.apache.geode.cache.Region<?,?> region)
GemFireCache
Region
on which the LuceneIndex
will be created.region
- Region
on which the LuceneIndex
will be created.Region
,
setRegionPath(String)
protected org.apache.geode.cache.Region<?,?> getRegion()
GemFireCache
Region
on which the LuceneIndex
will be created.Region
on which the LuceneIndex
will be created.Region
,
getRegionPath()
,
resolveRegion()
public void setRegionPath(String pathname)
GemFireCache
Region
on which the LuceneIndex
will be created.pathname
- String
containing the fully-qualified pathname to the GemFireCache
Region
on which the LuceneIndex
will be created.setRegion(Region)
protected String getRegionPath()
GemFireCache
Region
on which the LuceneIndex
will be created.String
containing the fully-qualified pathname to the GemFireCache
Region
on which the LuceneIndex
will be created.getRegion()
Copyright © 2011-2016–2017 Pivotal Software, Inc.. All rights reserved.