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 the namespace to restrict resources
16 * associated with usage of the SearchService:
19 * SearchService acmeSearchService = SearchServiceFactory.getSearchService("acme");
22 * The first form is equivalent to:
25 * SearchServiceFactory.getSearchServiceFactory(NamespaceManager.get())
29 public final class SearchServiceFactory
{
32 * Returns an instance of the {@link SearchService}. The instance
33 * will exist in the user provided namespace. The namespace must be
34 * valid, as per {@link NamespaceManager#validateNamespace(String)}
37 * @param namespace a namespace to be assigned to the returned
39 * @return the default implementation of {@link SearchService}.
40 * @throws IllegalArgumentException if the namespace is invalid
42 public static SearchService
getSearchService(String namespace
) {
43 return getFactory().getSearchService(namespace
);
48 * {@link SearchServiceFactory#getSearchService(String) getSearchService(NamespaceManager.get())}.
50 public static SearchService
getSearchService() {
51 return getSearchService(NamespaceManager
.get());
55 * No instances of this class may be created.
57 private SearchServiceFactory() {}
59 private static ISearchServiceFactory
getFactory() {
60 return ServiceFactoryFactory
.getFactory(ISearchServiceFactory
.class);