com.bea.netuix.client.classifier
Interface ClientClassifier


public interface ClientClassifier

Classes implementing this interface look at information in the supplied HttpServletRequest object and use that to categorize or "classify" the request originator's client into a predefined category. This is useful for customizing content delivery and look-and-feel for different browsers and / or devices.

The mapping of requests to "classification" strings is defined in WEB-INF/client-classifications.xml. There, you can define strings or string patterns to map request user-agent strings to classifications. Once that's done, you can use this interface to get the classification string for a given request.

Use ClientClassifierFactory to get an instance of this interface.

See the section "Creating Portals for Multiple Device Types" in the Portal Development Guide for more information.

This interface is intended to be implemented only by Oracle Weblogic Portal. Oracle Systems reserves the right to add abstract methods to this interface without notice. Implementations of this interface by other parties must not be expected to compile without change in future versions of Oracle Weblogic Portal.

Field Summary
static String UNCLASSIFIED
           
 
Method Summary
 String getClassificationConfigurationFilePath(javax.servlet.http.HttpServletRequest req)
          Returns the path to the client classification configuration file used for the specified ServletRequest, if possible.
 String getClientClassification(javax.servlet.http.HttpServletRequest req)
          Derives the client classification label based on information passed with the request.
 boolean isClassificationMatched(javax.servlet.http.HttpServletRequest request, String classificationName)
          Checks if the specified classification matches the current request data.
 boolean isDefault(javax.servlet.http.HttpServletRequest req)
          Determines if the "default" classification label applies for the supplied request.
 boolean isRecognized(javax.servlet.http.HttpServletRequest req)
          Determines if the client classification has been explicitly recognized.
 

Field Detail

UNCLASSIFIED

static final String UNCLASSIFIED
See Also
Constants Summary
Method Detail

getClientClassification

String getClientClassification(javax.servlet.http.HttpServletRequest req)
Derives the client classification label based on information passed with the request. Different implementations may derive this label in different ways.

Parameters
req - The request object.
Returns
The classification label.

isDefault

boolean isDefault(javax.servlet.http.HttpServletRequest req)
Determines if the "default" classification label applies for the supplied request. Default is the default classification label, which can mean that the request was not resolvable to an existing label, or that it in fact does resolve to an existing label called 'default'. Default is normally treated by the system as a typical PC-based browser.

Parameters
req - The request object.
Returns
true if the request resolves as default
See Also
isRecognized(HttpServletRequest req)

isRecognized

boolean isRecognized(javax.servlet.http.HttpServletRequest req)
Determines if the client classification has been explicitly recognized. This is not the same as asking if the classification is not default. We don't know a priori if the classification was explicitly set to "default" or defaulted to it because no defined classification category could be determined. Thus, it is possible that two different request objects would return classifications of "default" but one which was explicitly resolved to the default category would return true for isRecognized and the other, not explicitly resolved, would return false for isRecognzed

Parameters
req - The request object.
Returns
true if the request's client classification was resolved to a category (even "default") explicitly.
See Also
isDefault(HttpServletRequest req)

isClassificationMatched

boolean isClassificationMatched(javax.servlet.http.HttpServletRequest request,
                                String classificationName)
Checks if the specified classification matches the current request data. This check does not consider any other classifications, so classification pattern priority is not applicable. In other words, the only named classification's patterns are checked against the request. This is useful if a classification should be tested for a match independently of other patterns, which have the opportunity to interfere with the specified classification's ability to match during a best match attempt (getClientClassification(javax.servlet.http.HttpServletRequest)) due to their potentially higher priority patterns.

Parameters
request - The request object.
classificationName - The name of the classification to explicitly test.
Returns
true if the named classification matches the current request.

getClassificationConfigurationFilePath

String getClassificationConfigurationFilePath(javax.servlet.http.HttpServletRequest req)
Returns the path to the client classification configuration file used for the specified ServletRequest, if possible. In many cases, such as deployments through a .war archive, the path to the file cannot be determined, and null will be returned.

Parameters
req - The request object.
Returns
The path to the client classification configuration file, if possible to determine; null otherwise.


Copyright © 2000, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.