1
18
19 package io.undertow.server.handlers.encoding;
20
21 import io.undertow.predicate.Predicate;
22
23
26 final class EncodingMapping implements Comparable<EncodingMapping> {
27
28 private final String name;
29 private final ContentEncodingProvider encoding;
30 private final int priority;
31 private final Predicate allowed;
32
33 EncodingMapping(final String name, final ContentEncodingProvider encoding, final int priority, final Predicate allowed) {
34 this.name = name;
35 this.encoding = encoding;
36 this.priority = priority;
37 this.allowed = allowed;
38 }
39
40 public String getName() {
41 return name;
42 }
43
44 public ContentEncodingProvider getEncoding() {
45 return encoding;
46 }
47
48 public int getPriority() {
49 return priority;
50 }
51
52 public Predicate getAllowed() {
53 return allowed;
54 }
55
56 @Override
57 public boolean equals(Object o) {
58 if (this == o) return true;
59 if (!(o instanceof EncodingMapping)) return false;
60
61 EncodingMapping that = (EncodingMapping) o;
62 return this.compareTo(that) == 0;
63 }
64
65 @Override
66 public int hashCode() {
67 return getPriority();
68 }
69
70 @Override
71 public int compareTo(final EncodingMapping o) {
72 return priority - o.priority;
73 }
74 }
75