View Javadoc

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 }