/*
* Copyright (c) 2013-2016. Urban Airship and Contributors
*/
package com.urbanairship.api.push.model;
import com.google.common.base.Function;
import com.google.common.base.Optional;
public enum DeviceType {
IOS("ios"),
WNS("wns"),
MPNS("mpns"),
ANDROID("android"),
BLACKBERRY("blackberry"),
AMAZON("amazon"),
WEB("web");
public static DeviceType first() {
return IOS;
}
public static DeviceType last() {
return WEB;
}
private final String identifier;
DeviceType(String identifier) {
this.identifier = identifier;
}
public String getIdentifier() {
return identifier;
}
public static Optional<DeviceType> find(String id) {
return fromIdentifierFunction.apply(id);
}
public static final Function<String, Optional<DeviceType>> fromIdentifierFunction = new Function<String, Optional<DeviceType>>() {
@Override
public Optional<DeviceType> apply(String identifier) {
for (DeviceType deviceType : values()) {
if (deviceType.getIdentifier().equals(identifier)) {
return Optional.of(deviceType);
}
}
return Optional.absent();
}
};
}