App Engine Python SDK version 1.9.8
[gae.git] / java / src / main / com / google / appengine / api / search / SearchServiceFactory.java
blob968daee9e7a18ab3f1f3d757d39021306f2fa25e
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 a {@link SearchServiceConfig} instance to customize
16 * the search service. e.g, setting deadline and namespace:
18 * <pre>
19 * SearchServiceFactory.getSearchService(
20 * SearchServiceConfig.newBuilder().setDeadline(10.0).setNamespace("acme").build())
21 * </pre>
24 public final class SearchServiceFactory {
26 /**
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)}
30 * method.
32 * @param namespace a namespace to be assigned to the returned
33 * search service.
34 * @return the default implementation of {@link SearchService}.
35 * @throws IllegalArgumentException if the namespace is invalid
36 * @deprecated Use {@link SearchServiceFactory#getSearchService(SearchServiceConfig)}
38 @Deprecated
39 public static SearchService getSearchService(String namespace) {
40 return getFactory().getSearchService(namespace);
43 /**
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);
55 /**
56 * Equivalent to
57 * {@link SearchServiceFactory#getSearchService(SearchServiceConfig)
58 * getSearchService(SearchServiceConfig.newBuilder().build())}.
60 public static SearchService getSearchService() {
61 return getSearchService(SearchServiceConfig.newBuilder().build());
64 /**
65 * No instances of this class may be created.
67 private SearchServiceFactory() {}
69 private static ISearchServiceFactory getFactory() {
70 return ServiceFactoryFactory.getFactory(ISearchServiceFactory.class);