1 // Copyright 2011 Google Inc. All Rights Reserved.
3 package com
.google
.appengine
.api
.search
;
5 import com
.google
.appengine
.api
.NamespaceManager
;
6 import com
.google
.appengine
.spi
.ServiceFactoryFactory
;
9 * An factory that creates default implementation of {@link SearchService}.
12 * SearchService search = SearchServiceFactory.getSearchService();
15 * Optionally, you may pass a {@link SearchServiceConfig} instance to customize
16 * the search service. e.g, setting deadline and namespace:
19 * SearchServiceFactory.getSearchService(
20 * SearchServiceConfig.newBuilder().setDeadline(10.0).setNamespace("acme").build())
24 public final class SearchServiceFactory
{
27 * Returns an instance of the {@link SearchService}. The instance
28 * will exist in the user provided namespace. The namespace must be
29 * valid, as per {@link NamespaceManager#validateNamespace(String)}
32 * @param namespace a namespace to be assigned to the returned
34 * @return the default implementation of {@link SearchService}.
35 * @throws IllegalArgumentException if the namespace is invalid
36 * @deprecated Use {@link SearchServiceFactory#getSearchService(SearchServiceConfig)}
39 public static SearchService
getSearchService(String namespace
) {
40 return getFactory().getSearchService(namespace
);
44 * Returns an instance of the {@link SearchService} with the given config.
46 * @param config a {@link SearchServiceConfig} instance that describes the
47 * requested search service. If no namespace provided in config,
48 * NamespaceManager.get() will be used.
49 * @return the default implementation of {@link SearchService}.
51 public static SearchService
getSearchService(SearchServiceConfig config
) {
52 return getFactory().getSearchService(config
);
57 * {@link SearchServiceFactory#getSearchService(SearchServiceConfig)
58 * getSearchService(SearchServiceConfig.newBuilder().build())}.
60 public static SearchService
getSearchService() {
61 return getSearchService(SearchServiceConfig
.newBuilder().build());
65 * No instances of this class may be created.
67 private SearchServiceFactory() {}
69 private static ISearchServiceFactory
getFactory() {
70 return ServiceFactoryFactory
.getFactory(ISearchServiceFactory
.class);