# Interface ISearchScopeFactory

public interface ISearchScopeFactory
Creates search scope objects from the provided preference store. Classes that implement this interface should take settings manipulated in the search scope preference pages and create scope objects that are required by search engines. Search engine and scope factory are defined together in the same extension point, hence the actual implementation of ISearchScope is up to the contributor.

Since:
  3.1

## Method Summary

Modifier and Type
Method
Description
`ISearchScope`
`createSearchScope(IPreferenceStore store, String engineId, Dictionary<String,Object> parameters)`
Returns a new search scope object created from the data in the preference store.

## Method Details

### createSearchScope

ISearchScope createSearchScope(IPreferenceStore store, String engineId, Dictionary<String,Object> parameters)
Returns a new search scope object created from the data in the preference store. Factories should be prepared to compute default values if they are missing from the preference store. This can happen before users open scope preference pages for the first time.

In cases where conflicting values can be found in the preference store and parameters, preference store should win i.e. parameters should be treated as default values only.

Parameters:
  `store` - the preference store that holds the scope data
  `engineId` - identifier of the engine instance that needs the scope object.
  `parameters` - configuration parameters provided in the engine extension point. They should be used as default values and preference store values (if defined) should be given precedance.
Returns:
  a new search scope object