Package net.sf.okapi.common.filters
Class SharedFilterConfigurationMapper
- java.lang.Object
-
- net.sf.okapi.common.filters.SharedFilterConfigurationMapper
-
- All Implemented Interfaces:
Iterable<net.sf.okapi.common.filters.FilterConfiguration>,net.sf.okapi.common.filters.IFilterConfigurationMapper
public class SharedFilterConfigurationMapper extends Object implements net.sf.okapi.common.filters.IFilterConfigurationMapper
Thread-safe implementation ofIFilterConfigurationMapperthat provides a shared, unified view of filter configurations across all threads.Key Differences from ThreadSafeFilterConfigurationMapper:
- Uses
ConcurrentHashMapfor shared configuration storage - Provides consistent view of configurations across all threads
- Eliminates thread-local storage overhead
- Better suited for applications requiring configuration consistency
Thread Safety:
- All read operations are lock-free and thread-safe
- Write operations use appropriate synchronization
- Configuration updates are atomic at the individual configuration level
- Author:
- Okapi Framework Development Team
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSharedFilterConfigurationMapper.ConfigBuilderBuilder for creating and configuring SharedFilterConfigurationMapper instances.
-
Constructor Summary
Constructors Constructor Description SharedFilterConfigurationMapper()Creates an empty SharedFilterConfigurationMapper.SharedFilterConfigurationMapper(Supplier<Map<String,net.sf.okapi.common.filters.FilterConfiguration>> fcSupplier)Creates a SharedFilterConfigurationMapper using a supplier for initial configurations.SharedFilterConfigurationMapper(Map<String,net.sf.okapi.common.filters.FilterConfiguration> initialConfigs)Creates a SharedFilterConfigurationMapper with pre-loaded configurations.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConfiguration(net.sf.okapi.common.filters.FilterConfiguration config)voidaddConfigurations(String filterClass)voidaddCustomConfiguration(String configId, String parameters)voidaddCustomConfiguration(String configId, net.sf.okapi.common.IParameters parameters)voidclearConfigurations(boolean customOnly)net.sf.okapi.common.IParametersEditorcreateConfigurationEditor(String configId)net.sf.okapi.common.IParametersEditorcreateConfigurationEditor(String configId, net.sf.okapi.common.filters.IFilter existingFilter)net.sf.okapi.common.filters.FilterConfigurationcreateCustomConfiguration(net.sf.okapi.common.filters.FilterConfiguration baseConfig)net.sf.okapi.common.filters.IFiltercreateFilter(String configId)net.sf.okapi.common.filters.IFiltercreateFilter(String configId, net.sf.okapi.common.filters.IFilter existingFilter)voiddeleteCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config)voidforEach(Consumer<? super net.sf.okapi.common.filters.FilterConfiguration> action)Iterator<net.sf.okapi.common.filters.FilterConfiguration>getAllConfigurations()net.sf.okapi.common.filters.FilterConfigurationgetConfiguration(String configId)net.sf.okapi.common.IParametersgetCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config)net.sf.okapi.common.IParametersgetCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.filters.IFilter existingFilter)net.sf.okapi.common.filters.FilterConfigurationgetDefaultConfiguration(String mimeType)net.sf.okapi.common.filters.FilterConfigurationgetDefaultConfigurationFromExtension(String ext)List<net.sf.okapi.common.filters.FilterConfiguration>getFilterConfigurations(String filterClass)List<net.sf.okapi.common.filters.FilterInfo>getFiltersInfo()List<net.sf.okapi.common.filters.FilterConfiguration>getMimeConfigurations(String mimeType)net.sf.okapi.common.IParametersgetParameters(net.sf.okapi.common.filters.FilterConfiguration config)net.sf.okapi.common.IParametersgetParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.filters.IFilter existingFilter)Iterator<net.sf.okapi.common.filters.FilterConfiguration>iterator()voidremoveConfiguration(String configId)voidremoveConfigurations(String filterClass)voidsaveCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.IParameters params)Spliterator<net.sf.okapi.common.filters.FilterConfiguration>spliterator()
-
-
-
Constructor Detail
-
SharedFilterConfigurationMapper
public SharedFilterConfigurationMapper()
Creates an empty SharedFilterConfigurationMapper. Initializes with an empty ConcurrentHashMap.
-
SharedFilterConfigurationMapper
public SharedFilterConfigurationMapper(Map<String,net.sf.okapi.common.filters.FilterConfiguration> initialConfigs)
Creates a SharedFilterConfigurationMapper with pre-loaded configurations.- Parameters:
initialConfigs- initial map of filter configurations to populate the mapper
-
SharedFilterConfigurationMapper
public SharedFilterConfigurationMapper(Supplier<Map<String,net.sf.okapi.common.filters.FilterConfiguration>> fcSupplier)
Creates a SharedFilterConfigurationMapper using a supplier for initial configurations.- Parameters:
fcSupplier- supplier that provides the initial map of filter configurations
-
-
Method Detail
-
addCustomConfiguration
public void addCustomConfiguration(String configId, net.sf.okapi.common.IParameters parameters)
- Specified by:
addCustomConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
addCustomConfiguration
public void addCustomConfiguration(String configId, String parameters)
- Specified by:
addCustomConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
addConfigurations
public void addConfigurations(String filterClass)
- Specified by:
addConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
addConfiguration
public void addConfiguration(net.sf.okapi.common.filters.FilterConfiguration config)
- Specified by:
addConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
createFilter
public net.sf.okapi.common.filters.IFilter createFilter(String configId, net.sf.okapi.common.filters.IFilter existingFilter)
- Specified by:
createFilterin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
clearConfigurations
public void clearConfigurations(boolean customOnly)
- Specified by:
clearConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
createFilter
public net.sf.okapi.common.filters.IFilter createFilter(String configId)
- Specified by:
createFilterin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getConfiguration
public net.sf.okapi.common.filters.FilterConfiguration getConfiguration(String configId)
- Specified by:
getConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getDefaultConfiguration
public net.sf.okapi.common.filters.FilterConfiguration getDefaultConfiguration(String mimeType)
- Specified by:
getDefaultConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getDefaultConfigurationFromExtension
public net.sf.okapi.common.filters.FilterConfiguration getDefaultConfigurationFromExtension(String ext)
- Specified by:
getDefaultConfigurationFromExtensionin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getParameters
public net.sf.okapi.common.IParameters getParameters(net.sf.okapi.common.filters.FilterConfiguration config)
- Specified by:
getParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getParameters
public net.sf.okapi.common.IParameters getParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.filters.IFilter existingFilter)- Specified by:
getParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
createCustomConfiguration
public net.sf.okapi.common.filters.FilterConfiguration createCustomConfiguration(net.sf.okapi.common.filters.FilterConfiguration baseConfig)
- Specified by:
createCustomConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getCustomParameters
public net.sf.okapi.common.IParameters getCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.filters.IFilter existingFilter)- Specified by:
getCustomParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getCustomParameters
public net.sf.okapi.common.IParameters getCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config)
- Specified by:
getCustomParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getAllConfigurations
public Iterator<net.sf.okapi.common.filters.FilterConfiguration> getAllConfigurations()
- Specified by:
getAllConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getFilterConfigurations
public List<net.sf.okapi.common.filters.FilterConfiguration> getFilterConfigurations(String filterClass)
- Specified by:
getFilterConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
createConfigurationEditor
public net.sf.okapi.common.IParametersEditor createConfigurationEditor(String configId, net.sf.okapi.common.filters.IFilter existingFilter)
- Specified by:
createConfigurationEditorin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
createConfigurationEditor
public net.sf.okapi.common.IParametersEditor createConfigurationEditor(String configId)
- Specified by:
createConfigurationEditorin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getFiltersInfo
public List<net.sf.okapi.common.filters.FilterInfo> getFiltersInfo()
- Specified by:
getFiltersInfoin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
getMimeConfigurations
public List<net.sf.okapi.common.filters.FilterConfiguration> getMimeConfigurations(String mimeType)
- Specified by:
getMimeConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
removeConfiguration
public void removeConfiguration(String configId)
- Specified by:
removeConfigurationin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
iterator
public Iterator<net.sf.okapi.common.filters.FilterConfiguration> iterator()
-
forEach
public void forEach(Consumer<? super net.sf.okapi.common.filters.FilterConfiguration> action)
-
spliterator
public Spliterator<net.sf.okapi.common.filters.FilterConfiguration> spliterator()
- Specified by:
spliteratorin interfaceIterable<net.sf.okapi.common.filters.FilterConfiguration>
-
removeConfigurations
public void removeConfigurations(String filterClass)
- Specified by:
removeConfigurationsin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
saveCustomParameters
public void saveCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config, net.sf.okapi.common.IParameters params)- Specified by:
saveCustomParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
deleteCustomParameters
public void deleteCustomParameters(net.sf.okapi.common.filters.FilterConfiguration config)
- Specified by:
deleteCustomParametersin interfacenet.sf.okapi.common.filters.IFilterConfigurationMapper
-
-