1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 *
19 */
20 package org.apache.directory.server.kerberos.shared.messages.value.flags;
21
22
23 /**
24 * An implementation of a BitString for the TicketFlags. The different values
25 * are stored in an int, as there can't be more than 32 flags (TicketFlag).
26 *
27 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
28 * @version $Rev: 540371 $, $Date: 2007-05-22 02:00:43 +0200 (Tue, 22 May 2007) $
29 */
30 public class TicketFlags extends AbstractKerberosFlags
31 {
32 private static final long serialVersionUID = 1L;
33
34
35 /**
36 * Basic constructor of a TicketFlags BitString
37 */
38 public TicketFlags()
39 {
40 super();
41 }
42
43
44 /**
45 * Constructor of a TicketFlags BitString with an int value
46 */
47 public TicketFlags( int flags )
48 {
49 super( getBytes( flags ) );
50 }
51
52
53 /**
54 * Basic constructor of a TicketFlags BitString with a byte array
55 */
56 public TicketFlags( byte[] flags )
57 {
58 super( flags );
59 }
60
61
62 /**
63 * Ticket flag - reserved
64 */
65 public boolean isReserved()
66 {
67 return isFlagSet( TicketFlag.RESERVED );
68 }
69
70
71 /**
72 * Ticket flag - forwardable
73 */
74 public boolean isForwardable()
75 {
76 return isFlagSet( TicketFlag.FORWARDABLE );
77 }
78
79
80 /**
81 * Ticket flag - forwarded
82 */
83 public boolean isForwarded()
84 {
85 return isFlagSet( TicketFlag.FORWARDED );
86 }
87
88
89 /**
90 * Ticket flag - proxiable
91 */
92 public boolean isProxiable()
93 {
94 return isFlagSet( TicketFlag.PROXIABLE );
95 }
96
97
98 /**
99 * Ticket flag - proxy
100 */
101 public boolean isProxy()
102 {
103 return isFlagSet( TicketFlag.PROXY );
104 }
105
106
107 /**
108 * Ticket flag - may be postdated
109 */
110 public boolean isMayPosdate()
111 {
112 return isFlagSet( TicketFlag.MAY_POSTDATE );
113 }
114
115
116 /**
117 * Ticket flag - postdated
118 */
119 public boolean isPostdated()
120 {
121 return isFlagSet( TicketFlag.POSTDATED );
122 }
123
124
125 /**
126 * Ticket flag - invalid
127 */
128 public boolean isInvalid()
129 {
130 return isFlagSet( TicketFlag.INVALID );
131 }
132
133
134 /**
135 * Ticket flag - renewable
136 */
137 public boolean isRenewable()
138 {
139 return isFlagSet( TicketFlag.RENEWABLE );
140 }
141
142
143 /**
144 * Ticket flag - initial
145 */
146 public boolean isInitial()
147 {
148 return isFlagSet( TicketFlag.INITIAL );
149 }
150
151
152 /**
153 * Ticket flag - pre-authentication
154 */
155 public boolean isPreAuth()
156 {
157 return isFlagSet( TicketFlag.PRE_AUTHENT );
158 }
159
160
161 /**
162 * Ticket flag - hardware authentication
163 */
164 public boolean isHwAuthent()
165 {
166 return isFlagSet( TicketFlag.HW_AUTHENT );
167 }
168
169
170 /**
171 * Ticket flag - transitedEncoding policy checked
172 */
173 public boolean isTransitedPolicyChecked()
174 {
175 return isFlagSet( TicketFlag.TRANSITED_POLICY_CHECKED );
176 }
177
178
179 /**
180 * Ticket flag - OK as delegate
181 */
182 public boolean isOkAsDelegate()
183 {
184 return isFlagSet( TicketFlag.OK_AS_DELEGATE );
185 }
186
187
188 /**
189 * Converts the object to a printable string.
190 */
191 /*public static String toString( int flags )
192 {
193 StringBuilder result = new StringBuilder();
194
195 if ( ( flags & ( 1 << TicketFlag.RESERVED.getOrdinal() ) ) != 0 )
196 {
197 result.append( "RESERVED " );
198 }
199
200 if ( ( flags & ( 1 << TicketFlag.FORWARDABLE.getOrdinal() ) ) != 0 )
201 {
202 result.append( "FORWARDABLE " );
203 }
204
205 if ( ( flags & ( 1 << TicketFlag.FORWARDED.getOrdinal() ) ) != 0 )
206 {
207 result.append( "FORWARDED " );
208 }
209
210 if ( ( flags & ( 1 << TicketFlag.PROXIABLE.getOrdinal() ) ) != 0 )
211 {
212 result.append( "PROXIABLE " );
213 }
214
215 if ( ( flags & ( 1 << TicketFlag.PROXY.getOrdinal() ) ) != 0 )
216 {
217 result.append( "PROXY " );
218 }
219
220 if ( ( flags & ( 1 << TicketFlag.MAY_POSTDATE.getOrdinal() ) ) != 0 )
221 {
222 result.append( "MAY_POSTDATE " );
223 }
224
225 if ( ( flags & ( 1 << TicketFlag.POSTDATED.getOrdinal() ) ) != 0 )
226 {
227 result.append( "POSTDATED " );
228 }
229
230 if ( ( flags & ( 1 << TicketFlag.INVALID.getOrdinal() ) ) != 0 )
231 {
232 result.append( "INVALID " );
233 }
234
235 if ( ( flags & ( 1 << TicketFlag.RENEWABLE.getOrdinal() ) ) != 0 )
236 {
237 result.append( "RENEWABLE " );
238 }
239
240 if ( ( flags & ( 1 << TicketFlag.INITIAL.getOrdinal() ) ) != 0 )
241 {
242 result.append( "INITIAL " );
243 }
244
245 if ( ( flags & ( 1 << TicketFlag.PRE_AUTHENT.getOrdinal() ) ) != 0 )
246 {
247 result.append( "PRE_AUTHENT " );
248 }
249
250 if ( ( flags & ( 1 << TicketFlag.HW_AUTHENT.getOrdinal() ) ) != 0 )
251 {
252 result.append( "HW_AUTHENT " );
253 }
254
255 if ( ( flags & ( 1 << TicketFlag.TRANSITED_POLICY_CHECKED.getOrdinal() ) ) != 0 )
256 {
257 result.append( "TRANSITED_POLICY_CHECKED " );
258 }
259
260 if ( ( flags & ( 1 << TicketFlag.OK_AS_DELEGATE.getOrdinal() ) ) != 0 )
261 {
262 result.append( "OPTS_OK_AS_DELEGATE " );
263 }
264
265 return result.toString().trim();
266 }*/
267
268
269 /**
270 * Converts the object to a printable string.
271 */
272 public String toString()
273 {
274 StringBuilder result = new StringBuilder();
275
276 if ( isFlagSet( TicketFlag.RESERVED ) )
277 {
278 result.append( "RESERVED(0) " );
279 }
280
281 if ( isFlagSet( TicketFlag.FORWARDABLE ) )
282 {
283 result.append( "FORWARDABLE(1) " );
284 }
285
286 if ( isFlagSet( TicketFlag.FORWARDED ) )
287 {
288 result.append( "FORWARDED(2) " );
289 }
290
291 if ( isFlagSet( TicketFlag.PROXIABLE ) )
292 {
293 result.append( "PROXIABLE(3) " );
294 }
295
296 if ( isFlagSet( TicketFlag.PROXY ) )
297 {
298 result.append( "PROXY(4) " );
299 }
300
301 if ( isFlagSet( TicketFlag.MAY_POSTDATE ) )
302 {
303 result.append( "MAY_POSTDATE(5) " );
304 }
305
306 if ( isFlagSet( TicketFlag.POSTDATED ) )
307 {
308 result.append( "POSTDATED(6) " );
309 }
310
311 if ( isFlagSet( TicketFlag.INVALID ) )
312 {
313 result.append( "INVALID(7) " );
314 }
315
316 if ( isFlagSet( TicketFlag.RENEWABLE ) )
317 {
318 result.append( "RENEWABLE(8) " );
319 }
320
321 if ( isFlagSet( TicketFlag.INITIAL ) )
322 {
323 result.append( "INITIAL(9) " );
324 }
325
326 if ( isFlagSet( TicketFlag.PRE_AUTHENT ) )
327 {
328 result.append( "PRE_AUTHENT(10) " );
329 }
330
331 if ( isFlagSet( TicketFlag.HW_AUTHENT ) )
332 {
333 result.append( "HW_AUTHENT(11) " );
334 }
335
336 if ( isFlagSet( TicketFlag.TRANSITED_POLICY_CHECKED ) )
337 {
338 result.append( "TRANSITED_POLICY_CHECKED(12) " );
339 }
340
341 if ( isFlagSet( TicketFlag.OK_AS_DELEGATE ) )
342 {
343 result.append( "OK_AS_DELEGATE(13) " );
344 }
345
346 return result.toString().trim();
347 }
348 }