001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020 package org.apache.directory.server.kerberos.shared.messages.value.flags;
021
022
023 /**
024 * An implementation of a BitString for the TicketFlags. The different values
025 * are stored in an int, as there can't be more than 32 flags (TicketFlag).
026 *
027 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
028 * @version $Rev: 540371 $, $Date: 2007-05-22 02:00:43 +0200 (Tue, 22 May 2007) $
029 */
030 public class TicketFlags extends AbstractKerberosFlags
031 {
032 private static final long serialVersionUID = 1L;
033
034
035 /**
036 * Basic constructor of a TicketFlags BitString
037 */
038 public TicketFlags()
039 {
040 super();
041 }
042
043
044 /**
045 * Constructor of a TicketFlags BitString with an int value
046 */
047 public TicketFlags( int flags )
048 {
049 super( getBytes( flags ) );
050 }
051
052
053 /**
054 * Basic constructor of a TicketFlags BitString with a byte array
055 */
056 public TicketFlags( byte[] flags )
057 {
058 super( flags );
059 }
060
061
062 /**
063 * Ticket flag - reserved
064 */
065 public boolean isReserved()
066 {
067 return isFlagSet( TicketFlag.RESERVED );
068 }
069
070
071 /**
072 * Ticket flag - forwardable
073 */
074 public boolean isForwardable()
075 {
076 return isFlagSet( TicketFlag.FORWARDABLE );
077 }
078
079
080 /**
081 * Ticket flag - forwarded
082 */
083 public boolean isForwarded()
084 {
085 return isFlagSet( TicketFlag.FORWARDED );
086 }
087
088
089 /**
090 * Ticket flag - proxiable
091 */
092 public boolean isProxiable()
093 {
094 return isFlagSet( TicketFlag.PROXIABLE );
095 }
096
097
098 /**
099 * 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 }