Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / api / search / SearchServiceFactory.java
blob86906d4815b697bc8da59b2de5717486995c0274
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;
8 /**
9 * An factory that creates default implementation of {@link SearchService}.
11 * <pre>
12 * SearchService search = SearchServiceFactory.getSearchService();
13 * </pre>
15 * Optionally, you may pass the namespace to restrict resources
16 * associated with usage of the SearchService:
18 * <pre>
19 * SearchService acmeSearchService = SearchServiceFactory.getSearchService("acme");
20 * </pre>
22 * The first form is equivalent to:
24 * <pre>
25 * SearchServiceFactory.getSearchServiceFactory(NamespaceManager.get())
26 * </pre>
29 public final class SearchServiceFactory {
31 /**
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)}
35 * method.
37 * @param namespace a namespace to be assigned to the returned
38 * search service.
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);
46 /**
47 * Equivalent to
48 * {@link SearchServiceFactory#getSearchService(String) getSearchService(NamespaceManager.get())}.
50 public static SearchService getSearchService() {
51 return getSearchService(NamespaceManager.get());
54 /**
55 * No instances of this class may be created.
57 private SearchServiceFactory() {}
59 private static ISearchServiceFactory getFactory() {
60 return ServiceFactoryFactory.getFactory(ISearchServiceFactory.class);