| java.lang.Object com.sun.mobile.cdm.MAPClientDetector com.sun.mobile.cdm.CCPPClientDetector
All known Subclasses: com.sun.mobile.cdm.FEDIClientDetector,
CPI_PROFILE_HEADERS | final public static String[] CPI_PROFILE_HEADERS(Code) | | |
debug | protected static Debug debug(Code) | | |
CCPPClientDetector | public CCPPClientDetector()(Code) | | |
getCCPPClient | public Client getCCPPClient(String profURI, Client client, HttpServletRequest request)(Code) | | Gets the CCPPClient correesponding to the profile URI
profileURITable is defined Hashtable, so we dont have to synchronize
get & put.
ALGORITHM:
1: sync on statusMap & try to get the CCPPClient
1.1: Return if found
1.2: Look if some one is merging our profile
1.2.1: if yes; get the Monitor to sync on.
1.2.2: if no; put in the Monitor in the statusMap to indicate
that merging has started for the URI
2: sync on the Monitor obtained in 1.2.1 ; and
check if the profile exists & return if it does.
3: Call getMergedProfile() and add the
returned CCPPClient to the cache & the TypesManager
3.1: sync on statusMap; & remove the mergingIndicator Monitor;
4: return the CCPPClient
|
getMergedUAProfile | protected Map getMergedUAProfile(Client client, HttpServletRequest request) throws ClientDetectionException(Code) | | This method will be implemented by the DELI/jsr188 Reference
implementation to do the profile merge ...
Parameters: client - The client object matched with user-agent by the nativeClientDetector Parameters: request - HttpServletRequest Map of client properties [key=property, value={set of Strings}] |
getProfileURI | protected String getProfileURI(HttpServletRequest request)(Code) | | Creates a key with all the x-wap-profile headers collected from the
request.
|
|
|