1
2
3
4
5
6
7
8
9
10 package org.mule.api.transport;
11
12 import java.io.Serializable;
13 import java.util.Comparator;
14
15
16
17
18
19
20 public final class PropertyScope implements Serializable
21 {
22 private static final long serialVersionUID = -4792653762048974018L;
23
24 public static final String INVOCATION_NAME = "invocation";
25 public static final String INBOUND_NAME = "inbound";
26 public static final String OUTBOUND_NAME = "outbound";
27 public static final String SESSION_NAME = "session";
28 public static final String APPLICATION_NAME = "application";
29
30
31
32
33
34 public static final PropertyScope INVOCATION = new PropertyScope(INVOCATION_NAME, 0);
35
36
37
38
39 public static final PropertyScope INBOUND = new PropertyScope(INBOUND_NAME, 1);
40
41
42
43
44
45 public static final PropertyScope OUTBOUND = new PropertyScope(OUTBOUND_NAME, 2);
46
47
48
49
50
51
52 public static final PropertyScope SESSION = new PropertyScope(SESSION_NAME, 3);
53
54
55
56
57
58 public static final PropertyScope APPLICATION = new PropertyScope(APPLICATION_NAME, 4);
59
60
61
62
63 public static final PropertyScope[] ALL_SCOPES = new PropertyScope[]{INVOCATION, INBOUND, OUTBOUND, SESSION, APPLICATION};
64
65 private String scope;
66 private int order;
67
68 public PropertyScope(String scope, int order)
69 {
70 this.scope = scope;
71 this.order = order;
72 }
73
74 public String getScope()
75 {
76 return scope;
77 }
78
79 public int getOrder()
80 {
81 return order;
82 }
83
84 public String toString()
85 {
86 return getScope();
87 }
88
89 public boolean equals(Object o)
90 {
91 if (this == o)
92 {
93 return true;
94 }
95 if (o == null || getClass() != o.getClass())
96 {
97 return false;
98 }
99
100 PropertyScope that = (PropertyScope) o;
101
102 if (order != that.order)
103 {
104 return false;
105 }
106 if (scope != null ? !scope.equals(that.scope) : that.scope != null)
107 {
108 return false;
109 }
110
111 return true;
112 }
113
114 public int hashCode()
115 {
116 int result;
117 result = (scope != null ? scope.hashCode() : 0);
118 result = 31 * result + order;
119 return result;
120 }
121
122
123
124
125
126 public static class ScopeComparator implements Comparator, Serializable
127 {
128 private static final long serialVersionUID = -3346258000312580166L;
129
130 public int compare(Object o, Object o1)
131 {
132 if (o == o1)
133 {
134 return 0;
135 }
136 if (o.equals(o1))
137 {
138 return 0;
139 }
140 return (((PropertyScope) o).getOrder() < ((PropertyScope) o1).getOrder() ? -1 : 1);
141 }
142 }
143 }
144