net.sourceforge.wurfl.core
Class DefaultWURFLService

java.lang.Object
  extended by net.sourceforge.wurfl.core.DefaultWURFLService
All Implemented Interfaces:
WURFLService

public class DefaultWURFLService
extends Object
implements WURFLService

This is the default implementation of WURFLService. It is responsible to match the request user-agent with a managed device's identifier and returns a Device instance.

MatcherManager instance is used to match WURFLRequest with one ModelDevice identifier.

It uses a CacheProvider to cache Devices instance by the WURFLRequests.

Version:
$Id: DefaultWURFLService.java 432 2010-05-06 12:12:53Z filippo.deluca $
Author:
Fantayeneh Asres Gizaw, Filippo De Luca

Constructor Summary
DefaultWURFLService(MatcherManager matcherManager, DeviceProvider deviceProvider)
          Build DefaultWURFLService from their private members using LRUMapCacheProvider by default.
DefaultWURFLService(MatcherManager matcherManager, DeviceProvider deviceProvider, CacheProvider cacheProvider)
          Build DefaultWURFLService from their private members.
 
Method Summary
protected  Object createDeviceKey(WURFLRequest request)
          Create a key to store device identifier in cache.
protected  CacheProvider getCacheProvider()
           
 Device getDeviceForRequest(WURFLRequest request)
          Return a Device instance obtained by parsing the given WURFLRequest instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultWURFLService

public DefaultWURFLService(MatcherManager matcherManager,
                           DeviceProvider deviceProvider,
                           CacheProvider cacheProvider)
Build DefaultWURFLService from their private members.

Parameters:
matcherManager - The MatcherManager instance used to match the WURFLRequest to handled user-agent.
deviceProvider - The DeviceProvider instance used to create Device instances.
cacheProvider - The CacheProvider instance used to cache created Devices.

DefaultWURFLService

public DefaultWURFLService(MatcherManager matcherManager,
                           DeviceProvider deviceProvider)
Build DefaultWURFLService from their private members using LRUMapCacheProvider by default.

Parameters:
matcherManager - The MatcherManager instance used to match the WURFLRequest to handled user-agent.
deviceProvider - The DeviceProvider instance used to create Device instances.
Method Detail

getCacheProvider

protected CacheProvider getCacheProvider()

getDeviceForRequest

public Device getDeviceForRequest(WURFLRequest request)
Return a Device instance obtained by parsing the given WURFLRequest instance.

Specified by:
getDeviceForRequest in interface WURFLService
Parameters:
request - The WURFLRequest from which obtain the requester device.
Returns:
A Device instance obtained from request

createDeviceKey

protected Object createDeviceKey(WURFLRequest request)
Create a key to store device identifier in cache. Actually it return the user-agent followed by uaprof.

The String is a good choice for key because they cache the hashCode.

Parameters:
request - The request to create key from.
Returns:
A Object used ad key to cache a Device by the corresponding WURFLRequest.


Copyright © 2008-2010 WURFL-Pro srl. All Rights Reserved.