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 */ 020package org.apache.directory.shared.kerberos.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 */ 029public class TicketFlags extends AbstractKerberosFlags 030{ 031 /** 032 * Basic constructor of a TicketFlags BitString 033 */ 034 public TicketFlags() 035 { 036 super(); 037 } 038 039 040 /** 041 * Constructor of a TicketFlags BitString with an int value 042 */ 043 public TicketFlags( int flags ) 044 { 045 super( flags ); 046 } 047 048 049 /** 050 * Basic constructor of a TicketFlags BitString with a byte array 051 */ 052 public TicketFlags( byte[] flags ) 053 { 054 super( flags ); 055 } 056 057 058 /** 059 * Ticket flag - reserved 060 */ 061 public boolean isReserved() 062 { 063 return isFlagSet( TicketFlag.RESERVED ); 064 } 065 066 067 /** 068 * Ticket flag - forwardable 069 */ 070 public boolean isForwardable() 071 { 072 return isFlagSet( TicketFlag.FORWARDABLE ); 073 } 074 075 076 /** 077 * Ticket flag - forwarded 078 */ 079 public boolean isForwarded() 080 { 081 return isFlagSet( TicketFlag.FORWARDED ); 082 } 083 084 085 /** 086 * Ticket flag - proxiable 087 */ 088 public boolean isProxiable() 089 { 090 return isFlagSet( TicketFlag.PROXIABLE ); 091 } 092 093 094 /** 095 * Ticket flag - proxy 096 */ 097 public boolean isProxy() 098 { 099 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}