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;
021
022
023 import javax.security.auth.kerberos.KerberosPrincipal;
024
025 import org.apache.directory.server.kerberos.shared.messages.value.KerberosTime;
026
027
028 /**
029 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
030 * @version $Rev: 540371 $, $Date: 2007-05-22 03:00:43 +0300 (Tue, 22 May 2007) $
031 */
032 public class ErrorMessageModifier
033 {
034 private KerberosTime clientTime; //optional
035 private Integer clientMicroSecond; //optional
036 private KerberosTime serverTime;
037 private int serverMicroSecond;
038 private int errorCode;
039 private KerberosPrincipal clientPrincipal; //optional
040 private KerberosPrincipal serverPrincipal;
041 private String explanatoryText; //optional
042 private byte[] explanatoryData; //optional
043
044
045 /**
046 * Returns the {@link ErrorMessage}.
047 *
048 * @return The {@link ErrorMessage}.
049 */
050 public ErrorMessage getErrorMessage()
051 {
052 return new ErrorMessage( clientTime, clientMicroSecond, serverTime, serverMicroSecond, errorCode,
053 clientPrincipal, serverPrincipal, explanatoryText, explanatoryData );
054 }
055
056
057 /**
058 * Sets the client {@link KerberosPrincipal}.
059 *
060 * @param principal
061 */
062 public void setClientPrincipal( KerberosPrincipal principal )
063 {
064 this.clientPrincipal = principal;
065 }
066
067
068 /**
069 * Sets the client {@link KerberosTime}.
070 *
071 * @param time
072 */
073 public void setClientTime( KerberosTime time )
074 {
075 this.clientTime = time;
076 }
077
078
079 /**
080 * Sets the client microsecond.
081 *
082 * @param clientMicroSecond
083 */
084 public void setClientMicroSecond( Integer clientMicroSecond )
085 {
086 this.clientMicroSecond = clientMicroSecond;
087 }
088
089
090 /**
091 * Sets the explanatory data.
092 *
093 * @param data
094 */
095 public void setExplanatoryData( byte[] data )
096 {
097 this.explanatoryData = data;
098 }
099
100
101 /**
102 * Sets the error code.
103 *
104 * @param code
105 */
106 public void setErrorCode( int code )
107 {
108 this.errorCode = code;
109 }
110
111
112 /**
113 * Sets the explanatory text.
114 *
115 * @param text
116 */
117 public void setExplanatoryText( String text )
118 {
119 this.explanatoryText = text;
120 }
121
122
123 /**
124 * Sets the server {@link KerberosPrincipal}.
125 *
126 * @param principal
127 */
128 public void setServerPrincipal( KerberosPrincipal principal )
129 {
130 this.serverPrincipal = principal;
131 }
132
133
134 /**
135 * Sets the server {@link KerberosTime}.
136 *
137 * @param time
138 */
139 public void setServerTime( KerberosTime time )
140 {
141 this.serverTime = time;
142 }
143
144
145 /**
146 * Sets the server microsecond.
147 *
148 * @param serverMicroSecond
149 */
150 public void setServerMicroSecond( int serverMicroSecond )
151 {
152 this.serverMicroSecond = serverMicroSecond;
153 }
154 }