|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sf.uadetector.parser.AbstractUserAgentStringParser
public abstract class AbstractUserAgentStringParser
| Constructor Summary | |
|---|---|
AbstractUserAgentStringParser()
|
|
| Method Summary | |
|---|---|
protected abstract DataStore |
getDataStore()
Gets the data store of this parser. |
java.lang.String |
getDataVersion()
Returns the current version information of the used UAS data. |
UserAgent |
parse(java.lang.String userAgent)
Detects informations about a network client based on a user agent string. |
void |
shutdown()
In environments where the JVM will never shut down while reinstalling UADetector, it is necessary to manually shutdown running threads of UserAgentStringParsers with updating functionality like
UADetectorServiceFactory.getCachingAndUpdatingParser() or
UADetectorServiceFactory.getOnlineUpdatingParser(). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AbstractUserAgentStringParser()
| Method Detail |
|---|
protected abstract DataStore getDataStore()
public java.lang.String getDataVersion()
UserAgentStringParser
The version will be set by the UAS data provider (http://user-agent-string.info/) and the version should
look like this:
format: YYYYMMDD-counter (counter is two digits long)
example: 20120931-02
getDataVersion in interface UserAgentStringParserpublic UserAgent parse(java.lang.String userAgent)
UserAgentStringParserHttpServletRequest. With the method
getHeader("User-Agent") you can get direct access to this string.
parse in interface UserAgentStringParseruserAgent - user agent string
public void shutdown()
UserAgentStringParserUserAgentStringParsers with updating functionality like
UADetectorServiceFactory.getCachingAndUpdatingParser() or
UADetectorServiceFactory.getOnlineUpdatingParser().
For example, if a web application with UADetector will be re-deployed within an Apache Tomcat you must
shutdown your self-created or via UADetectorServiceFactory retrieved updating
UserAgentStringParser otherwise more and more threads will be registered.
An implementation of UserAgentStringParser has updating functionality if it works with a
RefreshableDataStore.
If you call shutdown on a non-updating UserAgentStringParser implementation nothing will happen.
A number of Dependency Injection containers support the annotation PreDestroy which is be useful for
indicating methods that should be called when the container is shutting down. This annotation is available by
default in Java SE 7 and can be made available through the external library jsr250-api-1.0.jar for earlier
versions of Java.
We recommend to annotate an implementation of UserAgentStringParser.shutdown() with PreDestroy to inform a container
(for example Spring Framework) to trigger the shutdown method automatically by convention during the
shutdown lifecycle. This saves developers to call explicitly the shutdown method.
To shutdown all managed ExecutorService by UADetector at once, you can call also
ExecutorServices.shutdownAll().
shutdown in interface UserAgentStringParser
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||