All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.eclipsesource.tabris.tracking.internal.util.UserAgentUtil Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2014 EclipseSource and others. All rights reserved. This
 * program and the accompanying materials are 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:
 * EclipseSource - initial API and implementation
 ******************************************************************************/
package com.eclipsesource.tabris.tracking.internal.util;

import static com.eclipsesource.tabris.internal.Clauses.whenNull;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import com.eclipsesource.tabris.device.ClientDevice.Platform;


@SuppressWarnings("restriction")
public class UserAgentUtil {

  static Map providers;

  static {
    Map mapping = new HashMap();
    mapping.put( Platform.ANDROID, new AndroidUserAgentGenerator() );
    mapping.put( Platform.IOS, new IOSUserAgentGenerator() );
    mapping.put( Platform.SWT, new UniversalUserAgentProvider() );
    mapping.put( Platform.WEB, new UniversalUserAgentProvider() );
    mapping.put( ( Platform )null, new UniversalUserAgentProvider() );
    providers = Collections.unmodifiableMap( mapping );
  }

  public static UserAgentProvider getProvider( Platform platform ) {
    whenNull( platform ).throwIllegalArgument( "Platform must not be null" );
    return providers.get( platform );
  }

  private UserAgentUtil() {
    //prevent instantiation
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy