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 }