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.shared.kerberos.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   */
29  public class TicketFlags extends AbstractKerberosFlags
30  {
31      /**
32        * Basic constructor of a TicketFlags BitString
33        */
34      public TicketFlags()
35      {
36          super();
37      }
38  
39  
40      /**
41       * Constructor of a TicketFlags BitString with an int value
42       */
43      public TicketFlags( int flags )
44      {
45          super( flags );
46      }
47  
48  
49      /**
50       * Basic constructor of a TicketFlags BitString with a byte array
51       */
52      public TicketFlags( byte[] flags )
53      {
54          super( flags );
55      }
56  
57  
58      /**
59       * Ticket flag - reserved
60       */
61      public boolean isReserved()
62      {
63          return isFlagSet( TicketFlag.RESERVED );
64      }
65  
66  
67      /**
68       * Ticket flag - forwardable
69       */
70      public boolean isForwardable()
71      {
72          return isFlagSet( TicketFlag.FORWARDABLE );
73      }
74  
75  
76      /**
77       * Ticket flag - forwarded
78       */
79      public boolean isForwarded()
80      {
81          return isFlagSet( TicketFlag.FORWARDED );
82      }
83  
84  
85      /**
86       * Ticket flag - proxiable
87       */
88      public boolean isProxiable()
89      {
90          return isFlagSet( TicketFlag.PROXIABLE );
91      }
92  
93  
94      /**
95       * Ticket flag - proxy
96       */
97      public boolean isProxy()
98      {
99          return isFlagSet( TicketFlag.PROXY );
100     }
101 
102 
103     /**
104      * Ticket flag - may be postdated
105      */
106     public boolean isMayPosdate()
107     {
108         return isFlagSet( TicketFlag.MAY_POSTDATE );
109     }
110 
111 
112     /**
113      * Ticket flag - postdated
114      */
115     public boolean isPostdated()
116     {
117         return isFlagSet( TicketFlag.POSTDATED );
118     }
119 
120 
121     /**
122      * Ticket flag - invalid
123      */
124     public boolean isInvalid()
125     {
126         return isFlagSet( TicketFlag.INVALID );
127     }
128 
129 
130     /**
131      * Ticket flag - renewable
132      */
133     public boolean isRenewable()
134     {
135         return isFlagSet( TicketFlag.RENEWABLE );
136     }
137 
138 
139     /**
140      * Ticket flag - initial
141      */
142     public boolean isInitial()
143     {
144         return isFlagSet( TicketFlag.INITIAL );
145     }
146 
147 
148     /**
149      * Ticket flag - pre-authentication
150      */
151     public boolean isPreAuth()
152     {
153         return isFlagSet( TicketFlag.PRE_AUTHENT );
154     }
155 
156 
157     /**
158      * Ticket flag - hardware authentication
159      */
160     public boolean isHwAuthent()
161     {
162         return isFlagSet( TicketFlag.HW_AUTHENT );
163     }
164 
165 
166     /**
167      * Ticket flag - transitedEncoding policy checked
168      */
169     public boolean isTransitedPolicyChecked()
170     {
171         return isFlagSet( TicketFlag.TRANSITED_POLICY_CHECKED );
172     }
173 
174 
175     /**
176      * Ticket flag - OK as delegate
177      */
178     public boolean isOkAsDelegate()
179     {
180         return isFlagSet( TicketFlag.OK_AS_DELEGATE );
181     }
182 
183 
184     /**
185      * Converts the object to a printable string.
186      */
187     @Override
188     public String toString()
189     {
190         StringBuilder result = new StringBuilder();
191 
192         if ( isFlagSet( TicketFlag.RESERVED ) )
193         {
194             result.append( "RESERVED(0) " );
195         }
196 
197         if ( isFlagSet( TicketFlag.FORWARDABLE ) )
198         {
199             result.append( "FORWARDABLE(1) " );
200         }
201 
202         if ( isFlagSet( TicketFlag.FORWARDED ) )
203         {
204             result.append( "FORWARDED(2) " );
205         }
206 
207         if ( isFlagSet( TicketFlag.PROXIABLE ) )
208         {
209             result.append( "PROXIABLE(3) " );
210         }
211 
212         if ( isFlagSet( TicketFlag.PROXY ) )
213         {
214             result.append( "PROXY(4) " );
215         }
216 
217         if ( isFlagSet( TicketFlag.MAY_POSTDATE ) )
218         {
219             result.append( "MAY_POSTDATE(5) " );
220         }
221 
222         if ( isFlagSet( TicketFlag.POSTDATED ) )
223         {
224             result.append( "POSTDATED(6) " );
225         }
226 
227         if ( isFlagSet( TicketFlag.INVALID ) )
228         {
229             result.append( "INVALID(7) " );
230         }
231 
232         if ( isFlagSet( TicketFlag.RENEWABLE ) )
233         {
234             result.append( "RENEWABLE(8) " );
235         }
236 
237         if ( isFlagSet( TicketFlag.INITIAL ) )
238         {
239             result.append( "INITIAL(9) " );
240         }
241 
242         if ( isFlagSet( TicketFlag.PRE_AUTHENT ) )
243         {
244             result.append( "PRE_AUTHENT(10) " );
245         }
246 
247         if ( isFlagSet( TicketFlag.HW_AUTHENT ) )
248         {
249             result.append( "HW_AUTHENT(11) " );
250         }
251 
252         if ( isFlagSet( TicketFlag.TRANSITED_POLICY_CHECKED ) )
253         {
254             result.append( "TRANSITED_POLICY_CHECKED(12) " );
255         }
256 
257         if ( isFlagSet( TicketFlag.OK_AS_DELEGATE ) )
258         {
259             result.append( "OK_AS_DELEGATE(13) " );
260         }
261 
262         return result.toString().trim();
263     }
264 }