/* Copyright (c) 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.gdata.client.health; import com.google.gdata.client.GoogleService; import com.google.gdata.data.health.ProfileFeed; import com.google.gdata.data.health.RegisterFeed; /** * The H9Service class extends the basic {@link GoogleService} abstraction * to define a service that is preconfigured for access to the Health data API. * * */ public class H9Service extends GoogleService { /** * The abbreviated name of Health recognized by Google. The service name is * used when requesting an authentication token. */ public static final String H9_SERVICE = "weaver"; /** * The version ID of the service. */ public static final String H9_SERVICE_VERSION = "GHealth-Java/" + H9Service.class.getPackage().getImplementationVersion(); /** * Constructs a H9Service instance connecting to the Health service for an * application with the name {@code applicationName}. * * @param applicationName the name of the client application accessing the * service. Application names should preferably have * the format [company-id]-[app-name]-[app-version]. * The name will be used by the Google servers to * monitor the source of authentication. */ public H9Service(String applicationName) { this(applicationName, "https", "www.google.com"); } /** * Constructs a GoogleService instance connecting to the Health service with * name {@code serviceName} for an application with the name {@code * applicationName}. The service will authenticate at the provided {@code * domainName}. * * @param applicationName the name of the client application accessing the * service. Application names should preferably have * the format [company-id]-[app-name]-[app-version]. * The name will be used by the Google servers to * monitor the source of authentication. * @param protocol name of protocol to use for authentication * ("http"/"https") * @param domainName the name of the domain hosting the login handler */ public H9Service(String applicationName, String protocol, String domainName) { super(H9_SERVICE, applicationName, protocol, domainName); // Declare the extensions of the feeds new ProfileFeed().declareExtensions(getExtensionProfile()); new RegisterFeed().declareExtensions(getExtensionProfile()); } public String getServiceVersion() { return H9_SERVICE_VERSION + " " + super.getServiceVersion(); } }