Media.java

 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}