package com.psddev.cms.db;
/**
* @deprecated No replacement.
*/
@Deprecated
public enum DeviceType {
ANDROID("Android", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentAndroid();
}
}),
ANY_CHROME("Any Device using Chrome", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentChrome();
}
}),
ANY_FIREFOX("Any Device using Firefox", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentFirefox();
}
}),
ANY_MSIE("Any Device using Microsoft Internet Explorer", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentMsie();
}
}),
ANY_SAFARI("Any Device using Safari", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentSafari();
}
}),
IPAD("iPad", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentIpad();
}
}),
IPHONE("iPhone", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentIphone();
}
}),
MAC_CHROME("Mac OS using Chrome", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentMac() && profile.isUserAgentChrome();
}
}),
MAC_FIREFOX("Mac OS using Firefox", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentMac() && profile.isUserAgentFirefox();
}
}),
MAC_SAFARI("Mac OS using Safari", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentMac() && profile.isUserAgentSafari();
}
}),
WINDOWS_CHROME("Windows using Chrome", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentWindows() && profile.isUserAgentChrome();
}
}),
WINDOWS_FIREFOX("Windows using Firefox", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentWindows() && profile.isUserAgentFirefox();
}
}),
WINDOWS_MSIE("Windows using Microsoft Internet Explorer", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentWindows() && profile.isUserAgentMsie();
}
}),
WINDOWS_SAFARI("Windows using Safari", new Evaluator() {
@Override
public boolean evaluate(Profile profile) {
return profile.isUserAgentWindows() && profile.isUserAgentSafari();
}
});
private final String displayName;
private final Evaluator evaluator;
private DeviceType(String displayName, Evaluator evaluator) {
this.displayName = displayName;
this.evaluator = evaluator;
}
public boolean evaluate(Profile profile) {
return evaluator.evaluate(profile);
}
@Override
public String toString() {
return displayName;
}
private static interface Evaluator {
public boolean evaluate(Profile profile);
}
}