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;
021
022
023 /**
024 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
025 * @version $Rev: 540371 $, $Date: 2007-05-22 03:00:43 +0300 (Tue, 22 May 2007) $
026 */
027 public class ApOptions extends Options
028 {
029 /**
030 * AP Request option - reserved
031 */
032 public static final int RESERVED = 0;
033
034 /**
035 * AP Request option - use session key
036 */
037 public static final int USE_SESSION_KEY = 1;
038
039 /**
040 * AP Request option - mutual authentication required
041 */
042 public static final int MUTUAL_REQUIRED = 2;
043
044 /**
045 * AP Request option - maximum value
046 */
047 public static final int MAX_VALUE = 32;
048
049
050 /**
051 * Creates a new instance of ApOptions.
052 */
053 public ApOptions()
054 {
055 super( MAX_VALUE );
056 }
057
058
059 /**
060 * Creates a new instance of ApOptions.
061 *
062 * @param options
063 */
064 public ApOptions( byte[] options )
065 {
066 super( MAX_VALUE );
067 setBytes( options );
068 }
069
070
071 /**
072 * Converts the object to a printable string.
073 */
074 public String toString()
075 {
076 StringBuffer result = new StringBuffer();
077
078 if ( get( MUTUAL_REQUIRED ) )
079 {
080 result.append( "MUTUAL_REQUIRED " );
081 }
082
083 if ( get( RESERVED ) )
084 {
085 result.append( "RESERVED " );
086 }
087
088 if ( get( USE_SESSION_KEY ) )
089 {
090 result.append( "USE_SESSION_KEY " );
091 }
092
093 return result.toString().trim();
094 }
095 }