/******************************************************************************* * Copyright (c) 2010 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.usage.googleanalytics; import org.jboss.tools.usage.googleanalytics.AbstractGoogleAnalyticsParameters.GoogleAnalyticsEvent; /** * An interface that provides methods for all parameters that google analytics * needs to know about. * * @author Andre Dietisheim * @see <a * href="http://code.google.com/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html#gifParameters">GIF * Request Parameters</a> */ public interface IGoogleAnalyticsParameters { public static final char AMPERSAND = '&'; public static final char EQUALS_SIGN = '='; public static final char URL_PARAM_DELIMITER = '?'; public static final char PLUS_SIGN = '+'; public static final char DOT = '.'; public static final char SEMICOLON = ';'; public static final char PIPE = '|'; public static final String PARAM_HID = "utmhid"; public static final String PARAM_PAGE_REQUEST = "utmp"; public static final String PARAM_ACCOUNT_NAME = "utmac"; public static final String PARAM_HOST_NAME = "utmhn"; public static final String PARAM_EVENT_TRACKING = "utme"; public static final String PARAM_COOKIES = "utmcc"; public static final String PARAM_COOKIES_UNIQUE_VISITOR_ID = "__utma"; public static final String PARAM_COOKIES_SESSION = "__utmb"; public static final String PARAM_COOKIES_BROWSERSESSION = "__utmc"; public static final String PARAM_COOKIES_REFERRAL_TYPE = "__utmz"; public static final String PARAM_COOKIES_UTMCSR = "utmcsr"; public static final String PARAM_COOKIES_UTMCCN = "utmccn"; public static final String PARAM_COOKIES_UTMCMD = "utmcmd"; public static final String PARAM_COOKIES_KEYWORD = "utmctr"; public static final String PARAM_COOKIES_USERDEFINED = "__utmv"; public static final String PARAM_REFERRAL = "utmr"; public static final String PARAM_TRACKING_CODE_VERSION = "utmwv"; public static final String PARAM_UNIQUE_TRACKING_NUMBER = "utmn"; public static final String PARAM_LANGUAGE_ENCODING = "utmcs"; public static final String PARAM_SCREEN_RESOLUTION = "utmsr"; public static final String PARAM_SCREEN_COLOR_DEPTH = "utmsc"; public static final String PARAM_PRODUCT_NAME = "utmipn"; public static final String PARAM_PRODUCT_CODE = "utmipc"; public static final String PARAM_FLASH_VERSION = "utmfl"; public static final String PARAM_BROWSER_LANGUAGE = "utmul"; public static final String PARAM_REPEAT_CAMPAIGN_VISIT = "utmcr"; public static final String PARAM_PAGE_TITLE = "utmdt"; public static final String PARAM_REQUEST_TYPE = "utmt"; public static final String PARAM_GAQ = "gaq"; public static final String PARAM_AD_CONTENT = "utm_content"; public static final String VALUE_TRACKING_CODE_VERSION = "4.7.2"; public static final String VALUE_NO_REFERRAL = "0"; public static final String VALUE_ENCODING_UTF8 = "UTF-8"; public static final String SCREERESOLUTION_DELIMITER = "x"; public static final String SCREENCOLORDEPTH_POSTFIX = "-bit"; public String getAccountName(); public String getReferral(); public String getScreenResolution(); public String getScreenColorDepth(); public String getBrowserLanguage(); public String getHostname(); public String getUserAgent(); public String getUserId(); public String getKeyword(); public String getFirstVisit(); public String getLastVisit(); public String getCurrentVisit(); public long getVisitCount(); /** * Signals that a visit was executed. The * consequence is that visit timestamps and visit counters get updated * * @see #getLastVisit() * @see #getCurrentVisit() * @see #getVisitCount() */ public void visit(); /** * Starts a new visit session. */ public void startNewVisitSession(); public String getFlashVersion(); /** * Returns a user defined value that may be queried in Google Analytics. * * @return a user defined value */ public String getUserDefined(); /** * TODO: support multiple events. */ public GoogleAnalyticsEvent getEvent(); public String getCentralEnabledValue(); public String getJavaVmName(); public String getJavaVendor(); public String getJavaBitVersion(); }