1package eu.siacs.conversations.xmpp.jingle;
2
3import com.google.common.collect.ImmutableSet;
4
5import java.util.Locale;
6import java.util.Set;
7
8import javax.annotation.Nonnull;
9
10public enum Media {
11
12 VIDEO, AUDIO, UNKNOWN;
13
14 @Override
15 @Nonnull
16 public String toString() {
17 return super.toString().toLowerCase(Locale.ROOT);
18 }
19
20 public static Media of(String value) {
21 try {
22 return value == null ? UNKNOWN : Media.valueOf(value.toUpperCase(Locale.ROOT));
23 } catch (IllegalArgumentException e) {
24 return UNKNOWN;
25 }
26 }
27
28 public static boolean audioOnly(Set<Media> media) {
29 return ImmutableSet.of(AUDIO).equals(media);
30 }
31
32 public static boolean videoOnly(Set<Media> media) {
33 return ImmutableSet.of(VIDEO).equals(media);
34 }
35}