net.sourceforge.wurfl.core
Class DefaultWURFLService

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

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 934 2012-03-27 13:34:26Z fulvio.crivellaro $

Field Summary
protected  CacheProvider cacheProvider
          Caches device build from WURFLRequest
protected  DeviceProvider deviceProvider
          Builds devices
protected  org.slf4j.Logger logger
          Log
protected  MatcherManager matcherManager
          Matches the WURFLRequest to obtain device identifier
 
Constructor Summary
DefaultWURFLService(MatcherManager matcherManager, DeviceProvider deviceProvider)
          Build DefaultWURFLService from their private members.
 
Method Summary
protected  void checkCacheProvider()
           
protected  String createDeviceKey(WURFLRequest request)
          Create a key to store device identifier in cache.
 Device getDeviceForRequest(WURFLRequest request)
          Return a Device instance obtained by parsing the given WURFLRequest instance.
 EngineTarget getEngineTarget()
          Get the EngineTarget
 void setCacheProvider(CacheProvider cacheProvider)
          IoC setter
 void setEngineTarget(EngineTarget target)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger
Log


cacheProvider

protected CacheProvider cacheProvider
Caches device build from WURFLRequest


matcherManager

protected MatcherManager matcherManager
Matches the WURFLRequest to obtain device identifier


deviceProvider

protected DeviceProvider deviceProvider
Builds devices

Constructor Detail

DefaultWURFLService

public DefaultWURFLService(MatcherManager matcherManager,
                           DeviceProvider deviceProvider)
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.
Method Detail

setCacheProvider

public void setCacheProvider(CacheProvider cacheProvider)
Description copied from interface: WURFLService
IoC setter

Specified by:
setCacheProvider in interface WURFLService

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

checkCacheProvider

protected void checkCacheProvider()

createDeviceKey

protected String 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.

getEngineTarget

public EngineTarget getEngineTarget()
Description copied from interface: WURFLService
Get the EngineTarget

Specified by:
getEngineTarget in interface WURFLService
Returns:
the EngineTarget

setEngineTarget

public void setEngineTarget(EngineTarget target)
Specified by:
setEngineTarget in interface WURFLService


Copyright © 2012 ScientiaMobile Inc.. All Rights Reserved.